public JsonRs ChangeRoom(int roomid, int CheckInID, string note, DateTime _tdate) { var rs = new JsonRs(); using (var db = _connectionData.OpenDbConnection()) { using (var tran = db.OpenTransaction()) { try { //khi doi phong capnhat trang thai cu ve5 va them 1 thằng mới Stt=2 var checkin = db.Single <tbl_CheckIn>(x => x.Id == CheckInID); checkin.Leave_Date = _tdate; var Listchangeroom = new List <tbl_RoomChange>(); var listusingroonew = new List <tbl_RoomUsing>(); var listusingroomold = db.Select <tbl_RoomUsing>(x => x.status == 1 && x.CheckInID == CheckInID); if (listusingroomold.Count == 0) { rs.Status = "00"; rs.Message = "Không tìm thấy phòng củ vui lòng kiểm tra lại!"; return(rs); } foreach (tbl_RoomUsing t in listusingroomold) { t.status = 5; var changeroom = new tbl_RoomChange() { SysHotelID = t.SysHotelID, creatorid = 1, customercode = t.customercode, customerid = t.customerid, datecreated = t.datecreated, newroomid = t.SysHotelID, oldeoomid = t.Id, }; Listchangeroom.Add(changeroom); var usingroomnew = new tbl_RoomUsing() { SysHotelID = t.SysHotelID, customercode = t.customercode, customerid = t.customerid, datecreated = t.datecreated, roomid = roomid, status = 1, CheckInID = t.CheckInID, roomcode = t.roomcode, SysHotelCode = t.SysHotelCode, Note = note }; listusingroonew.Add(usingroomnew); } //cập nhật trạng thái phòng mới var listroom = new List <tbl_Room>(); var roomnew = db.Single <tbl_Room>(x => x.Id == roomid); roomnew.status = 1; roomnew.datePlanFrom = checkin.Arrive_Date; //cập nhật ngày đến roomnew.datePlanTo = checkin.Leave_Date; // cập nhật ngày đi //phòng cũ var roomold = db.Single <tbl_Room>(x => x.Id == listusingroomold[0].roomid); roomold.status = 0; listroom.Add(roomnew); listroom.Add(roomold); //cập nhật lai trạng thái hai phòng mới db.UpdateAll(listroom); //cập nhật lại tragj Thái Using củ với Status về bằng 5 db.UpdateAll(listusingroomold); // Thêm UsingRoommowis với Stt mới bằng 1 db.InsertAll(listusingroonew); //thêm Using Change db.InsertAll(Listchangeroom); db.Update(checkin); tran.Commit(); rs.Status = "01"; rs.Message = "Đổi phòng cho khách hàng thành công. Lưu ý tất cả khách hàng trong phòng sẻ được chuyển tới phòng mới là : " + roomnew.Name; } catch (Exception e) { rs.Status = "00"; rs.Message = "Đổi phòng thất bại. Vui lòng thực hiện lại!"; return(rs); } } } return(rs); }
public JsonRs AddUsingRoom(CustomeCheckInModel obj) { var rs = new JsonRs(); using (var db = _connectionData.OpenDbConnection()) { if (obj.CustomerId > 0) { try { var usingroom = new tbl_RoomUsing(); usingroom.SysHotelID = comm.GetHotelId();// obj.SysHotelID; usingroom.CheckInID = obj.CheckInID; usingroom.customerid = obj.CustomerId; usingroom.datecreated = DateTime.Now; usingroom.roomid = obj.Roomid; usingroom.status = 2; db.Insert(usingroom); rs.Status = "01"; rs.Message = "Thêm mới khách ở cùng thàng công."; return(rs); } catch (Exception e) { rs.Status = "00"; rs.Message = "Thêm mới khách ở cùng thất bại!"; return(rs); } } else { using (var tran = db.OpenTransaction()) { DateTime DOB; DateTime.TryParse(obj.DOB, CultureInfo.GetCultureInfo("vi-vn"), DateTimeStyles.None, out DOB); try { var Customer = new tbl_Customer(); Customer.Name = obj.Name; Customer.CountryId = obj.CountryId; Customer.DOB = DOB; Customer.Address = obj.Address; Customer.Sex = obj.Sex; Customer.TeamSTT = obj.TeamSTT; Customer.TeamMergeSTT = obj.TeamMergeSTT; Customer.Email = obj.Email; Customer.IdentifyNumber = obj.IdentifyNumber; Customer.Phone = obj.Phone; Customer.Address = obj.Address; Customer.Company = obj.Company; Customer.Status = true; Customer.TeamMergeSTT = obj.TeamMergeSTT; Customer.TeamSTT = obj.TeamSTT; Customer.Payer = 0; Customer.Status = true; Customer.ReservationID = obj.CheckInID; Customer.HotelCode = comm.GetHotelCode(); Customer.SysHotelID = comm.GetHotelId(); long idCustomer = db.Insert(Customer, true); var usingroom = new tbl_RoomUsing(); usingroom.SysHotelID = comm.GetHotelId();//Customer.SysHotelID; usingroom.SysHotelCode = comm.GetHotelCode(); usingroom.CheckInID = obj.CheckInID; usingroom.customerid = (int)idCustomer;// Customer.Id; usingroom.datecreated = DateTime.Now; usingroom.roomid = obj.Roomid; usingroom.status = 2; db.Insert(usingroom); /* * var group = new tbl_CustomerGroup(); * group.Doan_ID = obj.TeamSTT; * group.Gop_Doan_ID = obj.TeamMergeSTT; * group.Customer_ID = Customer.Id; * db.Insert(group); */ tran.Commit(); rs.Status = "01"; rs.Message = "Thêm mới khách ở cùng thàng công."; return(rs); } catch (Exception) { tran.Rollback(); rs.Status = "00"; rs.Message = "Thêm mới khách ở cùng thất bại!"; return(rs); } } } } }