public ActionResult Create() { 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.KHACHHANG_THEM)) { return(RedirectToAction("ViewDenied", "QLKS")); } var model = new KhachHangModel(); model.Ma = _khachHangServices.GenMaKhachHang(); return(View(model)); }
public ActionResult Create(DatPhongModel model) { if (!_quyenServices.Authorize((int)EnumQuyen.DATPHONG_THEM)) { TempData["Message"] = "Bạn không có quyền truy cập chức năng này"; TempData["NotiType"] = "error"; //success là class trong bootstrap return(RedirectToAction("ViewDenied", "QLKS")); } 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"; if (model.LOAIPHONG_ID == null) { model.DanhSachLoaiPhong = _loaiPhongServices.PrepareSelectListLoaiPhong(0); } else { model.DanhSachLoaiPhong = _loaiPhongServices.PrepareSelectListLoaiPhong(model.LOAIPHONG_ID); } return(View("Create", model)); } var item = AutoMapper.Mapper.Map <DATPHONG>(model); var results = db.Database.SqlQuery <sp_Result_ThongKePhong>("exec ThongKePhong @tungay, @denngay", new SqlParameter("@tungay", model.ngaydukienden), new SqlParameter("@denngay", model.ngaydukiendi)).ToList(); foreach (var i in results) { if (i.ID == model.LOAIPHONG_ID && i.SoPhongTrong < model.SoPhong) { if (model.LOAIPHONG_ID == null) { model.DanhSachLoaiPhong = _loaiPhongServices.PrepareSelectListLoaiPhong(0); } else { model.DanhSachLoaiPhong = _loaiPhongServices.PrepareSelectListLoaiPhong(model.LOAIPHONG_ID); } TempData["Message"] = "Không đủ đặt " + model.SoPhong + " phòng. Chỉ còn lại " + i.SoPhongTrong + " phòng."; TempData["NotiType"] = "danger"; return(View("Create", model)); } } var khachhang = new KhachHangModel(); khachhang.Ma = _khachHangServices.GenMaKhachHang(); khachhang.Ten = model.tenkhachhang; khachhang.SoCMT = model.socmt; khachhang.SoDienThoai = model.sodienthoai; khachhang.Email = model.email; var khachHangItem = AutoMapper.Mapper.Map <KHACHHANG>(khachhang); db.KHACHHANGs.Add(khachHangItem); db.SaveChanges(); item.KHACHHANG = khachHangItem; var nguoidungItem = db.NGUOIDUNGs.Find((int)Session["ID"]); item.NGUOIDUNG = nguoidungItem; item.LOAITINHTRANG_ID = (int)EnumLoaiTinhTrang.CHUACHECKIN; item.ThoiGianDat = DateTime.Now; db.DATPHONGs.Add(item); // db.SaveChanges(); _lichSuServices.LuuLichSu((int)Session["ID"], (int)EnumLoaiHanhDong.THEM, item.GetType().ToString()); TempData["Message"] = "Thêm mới thành công"; TempData["NotiType"] = "success"; return(RedirectToAction("List")); }
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")); }