预定
-----------------------------------------------------------------------------------
开发工具与关键技术:VS.MVC作者:纳兹,撰写日期:2019.07.18
-----------------------------------------------------------------------------------
下面以酒店管理预定酒店为例。
首先实例化ReturnJsonVo();接着用try…catch捕获异常,在try里面判断,检查出预定账号和单号是否与以前的重复,重复则输出数据重复,不能重复预定;如果(判断)查出来的数据等于0不重复,则往下执行。
这里的预定需要用到市别和协议单位里面下拉框的数据,所以pwCustomer.OperationalID = sOperational.OperationalID:获取到市别表里面的市别ID;pwCustomer.ProtocolID = pwProtocol.ProtocolID:获取到协议单位表里的协议单位ID;myModels.PW_Customer.Add(pwCustomer):把市别ID和协议单位ID保存并新增顾客信息。
接着判断保存是否成功(if (myModels.SaveChanges() > 0)),再接着var CustomerID = pwCustomer.CustomerID:获取上面新增的顾客表的顾客ID,然后List listTenement = new List(),用listTenement接受变量,接着判断session不为空的情况下(if (Session[“sleeped”] != null)),listTenement 则获取session中数据(listTenement = Session[“sleeped”] as List);遍历 listTenement 中的数据(foreach (var listTenements in listTenement)),查询数据保存预定的房台ID,改变房间状态(dblist.TenementWayID = 4),将房台改为(dblist.Destine = true)已预定;保存修改(myModels.Entry(dblist).State = EntityState.Modified);实例化订单表用来封装数据, PW_Subscriber Subscriber = new PW_Subscriber():用来保存每一条数据;Subscriber.CustomerID = CustomerID:获取顾客ID;Subscriber.TenementID = listTenements.TenementID:获取房台ID;listSubscriber.Add(Subscriber):将订单的数据保存到实例化的订单表中;myModels.PW_Subscriber.AddRange(listSubscriber):新增订单信息。如果保存成功返回“预定成功”,否则返回“预定失败”。
以上为预定。