public ActionResult Create(int fromCheckin = 0) { if (!_nguoiDungServices.isLoggedIn()) { TempData["Message"] = "Bạn chưa đăng nhập, vui lòng đăng nhập"; TempData["NotiType"] = "danger"; //success là class trong bootstrap return(RedirectToAction("Login", "NguoiDung")); } if (!_quyenServices.Authorize((int)EnumQuyen.THUEPHONG_THEM)) { return(RedirectToAction("ViewDenied", "QLKS")); } var model = new ThuePhongModel(); var maxId = db.THUEPHONGs.Select(c => c.ID).DefaultIfEmpty(0).Max(); var newId = (maxId + 1).ToString().PadLeft(7, '0'); model.ma = "TP" + "-" + newId; if (fromCheckin == 0) { model.fromEdit = "0"; model.DanhSachLoaiPhong = _loaiPhongServices.PrepareSelectListLoaiPhong(0); model.fromCheckIn = "0"; model.KHACHHANG_ID = 0; return(View(model)); } else { model.fromEdit = "0"; model.fromCheckIn = fromCheckin.ToString(); var datphongId = fromCheckin; var datPhongItem = db.DATPHONGs.Find(datphongId); var khachhangItem = datPhongItem.KHACHHANG; model.KHACHHANG_ID = khachhangItem.ID; model.LOAIPHONG_ID = datPhongItem.LOAIPHONG.ID; model.NgayDen = datPhongItem.NgayDuKienDen; model.NgayDi = datPhongItem.NgayDuKienDi; model.sdt = khachhangItem.SoDienThoai; model.socmt = khachhangItem.SoCMT; model.KHACHHANG_ID = khachhangItem.ID; model.tenkhachhang = khachhangItem.Ten; model.DanhSachLoaiPhong = _loaiPhongServices.PrepareSelectListLoaiPhong(datPhongItem.LOAIPHONG.ID); return(View(model)); } }
public ActionResult Edit(ThuePhongModel model) { if (!ModelState.IsValid) { TempData["Message"] = "Có lỗi xảy ra! Vui lòng kiểm tra lại thông tin."; TempData["NotiType"] = "danger"; //success là class trong bootstrap return(View("Create", model)); } ////update khachhang var item = db.THUEPHONGs.Find(model.ID); var khachHang = db.KHACHHANGs.Find(model.KHACHHANG_ID); khachHang.SoCMT = model.socmt; khachHang.SoDienThoai = model.sdt; khachHang.Ten = model.tenkhachhang; db.SaveChanges(); _lichSuServices.LuuLichSu((int)Session["ID"], (int)EnumLoaiHanhDong.SUA, item.GetType().ToString()); TempData["Message"] = "Cập nhật thành công"; TempData["NotiType"] = "success"; return(RedirectToAction("List", "ThuePhong")); }
public ActionResult Create(ThuePhongModel model) { var fromCheckIn = Int32.Parse(model.fromCheckIn); if (!ModelState.IsValid) { if (fromCheckIn == 0) { model.DanhSachLoaiPhong = _loaiPhongServices.PrepareSelectListLoaiPhong(0); model.fromCheckIn = "0"; model.fromEdit = "0"; model.KHACHHANG_ID = 0; } else { model.fromEdit = "0"; model.DanhSachLoaiPhong = _loaiPhongServices.PrepareSelectListLoaiPhong(fromCheckIn); } TempData["Message"] = "Có lỗi xảy ra! Vui lòng kiểm tra lại thông tin."; TempData["NotiType"] = "danger"; //success là class trong bootstrap return(View("Create", model)); } if (fromCheckIn == 0) { model.fromEdit = "0"; var khachhangItem = new KHACHHANG(); var nguoidung = db.NGUOIDUNGs.Find((int)Session["ID"]); khachhangItem.Ma = _khachHangServices.GenMaKhachHang(); khachhangItem.Ten = model.tenkhachhang; khachhangItem.SoCMT = model.socmt; khachhangItem.SoDienThoai = model.sdt; db.KHACHHANGs.Add(khachhangItem); db.SaveChanges(); var newThuePhongItem = new THUEPHONG(); newThuePhongItem.KHACHHANG = khachhangItem; newThuePhongItem.Ma = model.ma; newThuePhongItem.NgayDen = model.NgayDen; newThuePhongItem.NgayDi = model.NgayDi; newThuePhongItem.NGUOIDUNG = nguoidung; newThuePhongItem.ThoiGianThue = DateTime.Now; newThuePhongItem.LOAITINHTRANG_ID = (int)EnumLoaiTinhTrang.CHUATHANHTOAN; db.THUEPHONGs.Add(newThuePhongItem); db.SaveChanges(); foreach (var p in model.SelectedPhongs) { var newChiTietThuePhong = new CHITIETTHUEPHONG(); var phong = db.PHONGs.Find(p); newChiTietThuePhong.PHONG = phong; newThuePhongItem.CHITIETTHUEPHONGs.Add(newChiTietThuePhong); } db.SaveChanges(); } else { //check additional errors model.fromEdit = "0"; var datphongItem = db.DATPHONGs.Find(fromCheckIn); var khachHang = db.KHACHHANGs.Find(datphongItem.KHACHHANG.ID); var nguoidung = db.NGUOIDUNGs.Find((int)Session["ID"]); khachHang.Ten = model.tenkhachhang; khachHang.SoCMT = model.socmt; khachHang.SoDienThoai = model.sdt; db.SaveChanges(); var newThuePhongItem = new THUEPHONG(); newThuePhongItem.KHACHHANG = datphongItem.KHACHHANG; newThuePhongItem.Ma = model.ma; newThuePhongItem.NgayDen = model.NgayDen; newThuePhongItem.NgayDi = model.NgayDi; newThuePhongItem.NGUOIDUNG = nguoidung; newThuePhongItem.ThoiGianThue = DateTime.Now; newThuePhongItem.LOAITINHTRANG_ID = (int)EnumLoaiTinhTrang.CHUATHANHTOAN; db.THUEPHONGs.Add(newThuePhongItem); db.SaveChanges(); int temp = datphongItem.SoPhong.Value; //migrate temp rooms from reservation var selectedPhongsCopy = model.SelectedPhongs; foreach (var p in selectedPhongsCopy.ToList()) { if (temp > 0) { var phong = db.PHONGs.Find(p); if (phong.LOAIPHONG.ID == datphongItem.LOAIPHONG.ID) { var newChiTietThuePhong = new CHITIETTHUEPHONG(); newChiTietThuePhong.PHONG = phong; newThuePhongItem.CHITIETTHUEPHONGs.Add(newChiTietThuePhong); selectedPhongsCopy.Remove(p); temp--; } } } datphongItem.LOAITINHTRANG_ID = (int)EnumLoaiTinhTrang.DACHECKIN; foreach (var p in newThuePhongItem.CHITIETTHUEPHONGs) { p.PHONG.LOAITINHTRANG_ID = (int)EnumLoaiTinhTrang.DATHUE; } db.SaveChanges(); if (selectedPhongsCopy.Count() > 0) { foreach (var p in selectedPhongsCopy) { var phong = db.PHONGs.Find(p); var result = db.Database.SqlQuery <sp_Result_ThongKePhong>("exec ThongKePhong @tungay, @denngay", new SqlParameter("@tungay", newThuePhongItem.NgayDen), new SqlParameter("@denngay", newThuePhongItem.NgayDi)).Where(c => c.ID == phong.LOAIPHONG.ID).FirstOrDefault(); if (result != null) { if (result.SoPhongTrong > 0) { var newChiTietThuePhong = new CHITIETTHUEPHONG(); var phongThue = db.PHONGs.Find(p); newChiTietThuePhong.PHONG = phongThue; newThuePhongItem.CHITIETTHUEPHONGs.Add(newChiTietThuePhong); db.SaveChanges(); } else { model.DanhSachLoaiPhong = _loaiPhongServices.PrepareSelectListLoaiPhong(fromCheckIn); TempData["Message"] = "Không đủ phòng đặt thêm"; TempData["NotiType"] = "danger"; //success là class trong bootstrap return(View("Create", model)); } } } } //Lưu lịch sử hệ thống TempData["Message"] = "Thêm mới thành công"; TempData["NotiType"] = "success"; _lichSuServices.LuuLichSu((int)Session["ID"], (int)EnumLoaiHanhDong.THEM, newThuePhongItem.GetType().ToString()); //add new chitietthuephong } return(RedirectToAction("List", "ThuePhong")); }