📄 checkoutdb.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Collections;
using System.Data.SqlClient;
/// <summary>
/// CheckOuntDB 的摘要说明
/// </summary>
///
public struct StayInfo
{
public int stayID;
public int stayroom;
public double price;
public DateTime istarttime;
public TimeSpan iday; //原入住天数
public int realDay;
public double deposit;
}
public struct CustomerInfo
{
public string CustomerName;
public int CustomerID;
}
public struct GroupInfo
{
public string GroupName;
public int GroupID;
public string linkman;
}
public class CheckOutDB
{
private detailDBconn checkoutDB;
public static CustomerInfo cusinfo;
public static GroupInfo groupinfo;
private string errortext;
ArrayList resultSet;
DataTable dt;
//static int[] selectedResult;
public static DataTable staticInfo;
public static string customername;
static bool firstGet;//staticInfo 是否被赋值
public CheckOutDB()
{
checkoutDB= new detailDBconn();
cusinfo = new CustomerInfo();
resultSet = new ArrayList();
}
public void Init()
{
checkoutDB.intConn();
staticInfo = null;
if (checkoutDB.isOpen == false)
checkoutDB.openDB();
}
/// <summary>
/// 得到信息数组
/// </summary>
/// <param name="IDNo"></param>
/// <returns></returns>
public ArrayList getPersonStayInfo(int type, string IDNo)
{
try
{
StayInfo infomation = new StayInfo();
object[] temp;
DataSet ds;
if (type == 1)
{
checkoutDB.selectDataSetCommand = "select ID, ClientName from ClientInfo where identityNo =" + "'" + IDNo + "'";
ds = checkoutDB.getSelectDataSet();
temp = ds.Tables[0].Rows[0].ItemArray;
cusinfo.CustomerID = int.Parse(temp[0].ToString());
cusinfo.CustomerName = temp[1].ToString();
ds = null;
checkoutDB.selectDataSetCommand = "select StayInfo.ID,StayInfo.room,startTime,endTime,deposit,price " +
"FROM StayInfo INNER JOIN "
+ "HotelInfo ON StayInfo.room = HotelInfo.room "
+ "WHERE StayInfo.IDPerson =" + "'" + cusinfo.CustomerID + "'" + "and IsIn=1";
}
if(type==2)
{
checkoutDB.selectDataSetCommand = "select ID, name,linkman from GroupInfo where name =" + "'" + IDNo + "'";
ds = checkoutDB.getSelectDataSet();
temp = ds.Tables[0].Rows[0].ItemArray;
groupinfo.GroupID= int.Parse(temp[0].ToString());
groupinfo.GroupName = temp[1].ToString();
groupinfo.linkman = temp[2].ToString();
ds = null;
checkoutDB.selectDataSetCommand = "select StayInfo.ID,StayInfo.room,startTime,endTime,deposit,price " +
"FROM StayInfo INNER JOIN "
+ "HotelInfo ON StayInfo.room = HotelInfo.room "
+ "WHERE StayInfo.IDGroup =" + "'" + groupinfo.GroupID+ "'" + "and IsIn=1";
}
ds = checkoutDB.getSelectDataSet();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
temp = ds.Tables[0].Rows[i].ItemArray;
infomation.stayID = int.Parse(temp[0].ToString());
infomation.stayroom = int.Parse(temp[1].ToString());
infomation.istarttime = DateTime.Parse(temp[2].ToString());
infomation.iday = (DateTime.Parse(temp[3].ToString()) - infomation.istarttime);
infomation.realDay = (DateTime.Now.Day) - (infomation.istarttime.Day);
infomation.deposit = double.Parse( temp[4].ToString());
infomation.price = double.Parse(temp[5].ToString());
resultSet.Add(infomation);
}
}
catch
{
}
return resultSet;
}
/// <summary>
/// 内存中的数据表
/// </summary>
/// <param name="IDNo"></param>
/// <returns></returns>
public DataTable StayInfoTable(int type,string IDNo)
{
dt = new DataTable();
DataRow dr;
// Define the columns of the table.
dt.Columns.Add(new DataColumn("房间号", typeof(Int32)));
dt.Columns.Add(new DataColumn("价格/天", typeof(double)));
dt.Columns.Add(new DataColumn("入住时间", typeof(DateTime)));
dt.Columns.Add(new DataColumn("原定天数", typeof(double)));
dt.Columns.Add(new DataColumn("实际天数",typeof(Int32)));
dt.Columns.Add(new DataColumn("入住号", typeof(Int32)));
dt.Columns.Add(new DataColumn("罚金", typeof(bool)));
dt.Columns.Add(new DataColumn("退房", typeof(bool)));
dt.Columns.Add(new DataColumn("定金",typeof(double)));
// Populate the table with sample values.
ArrayList tempList = new ArrayList();
tempList = getPersonStayInfo(type,IDNo);
foreach( StayInfo i in tempList)
{
dr = dt.NewRow();
dr[0] = i.stayroom;
dr[1] = i.price;
dr[2] = i.istarttime;
dr[3] = i.iday.TotalDays;
dr[4] = i.realDay;
dr[5] = i.stayID;
dr[6] = 0;
dr[7] = 0;
dr[8] = i.deposit;
dt.Rows.Add(dr);
}
staticInfo = dt;
return staticInfo;
}
/// <summary>
/// 设置选择的退房信息
/// </summary>
/// <param name="stayinfoID"></param>
/// <param name="?"></param>
/* public void setRoomInfos(int i)
{
selectedResult.SetValue(i, selectedResult.GetLength(0) - 1);
}*/
/*public int[] getSelectInfo()
{
return selectedResult;
}*/
public void CheckOutUpdate(int type,int StayInfoID, float Inpenalty, float totalmoney)
{
StringBuilder sqlcommand = new StringBuilder();
sqlcommand.Append("UPDATE stayinfo SET endTime =" + "'" + DateTime.Now + "', IsIn=0, penalty="
+ Inpenalty + ", totalPrice=" + totalmoney);
sqlcommand.Append(" where ID=" + StayInfoID);
checkoutDB.updateCommand = sqlcommand.ToString();
try
{
checkoutDB.executeCommand();
}
catch
{
errortext = checkoutDB.errorMessage;
}
if (type == 2)
{
StringBuilder sqlcommand1 = new StringBuilder();
sqlcommand.Append("UPDATE GroupPersonInfo SET endTime =" + "'" + DateTime.Now + "'");
sqlcommand.Append(" where GroupID=" + StayInfoID);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -