public bool DatPhong(ModelDatPhong model) { bool thanhCong = true; try { //danh sách phòng hiện có var dsPhongHienCo = (from p in _ctx.Phong where p.LoaiPhong == model.MaLoaiPhong select p).ToList(); DateTime d1 = DateTime.Parse(model.NgayNhanPhong); DateTime d2 = DateTime.Parse(model.NgayTraPhong); int count = 0; //duyệt ds phòng foreach (Phong p in dsPhongHienCo) { if (isFreeIn(p.MaPhong, model.NgayNhanPhong, model.NgayTraPhong)) { DatPhong dp = new DatPhong(); dp.MaPhong = p.MaPhong; dp.MaLoaiPhong = p.LoaiPhong; dp.NgayNhanPhong = d1; dp.NgayTraPhong = d2; _ctx.DatPhong.Add(dp); _ctx.SaveChanges(); count++; } if (count == int.Parse(model.SoLuong)) { break; } } } catch (Exception) { thanhCong = false; } return thanhCong; }
//Hoàn tất việc đặt phòng public string DatPhong() { string NguoiDat = Request["HoVaTen"].ToString(); string SoDienThoai = Request["SoDienThoai"].ToString(); //string TenChuThe = Request["TenChuThe"].ToString(); //string TheTinDung = Request["TheTinDung"].ToString(); string Email = Request["Email"].ToString(); int soPhongLite = int.Parse(Request["LITE"].ToString()); int GiaPhongLite = int.Parse(Request["LITE_GiaPhong"].ToString()); int soPhongNormal = int.Parse(Request["NORMAL"].ToString()); int GiaPhongNormal = int.Parse(Request["NORMAL_GiaPhong"].ToString()); int soPhongVip = int.Parse(Request["VIP"].ToString()); int GiaPhongVip = int.Parse(Request["VIP_GiaPhong"].ToString()); // string NgayNhanPhong = Request["NgayNhanPhong"].ToString(); string NgayTraPhong = Request["NgayTraPhong"].ToString(); int TongTien = int.Parse(Request["TongTien"].ToString()); //thêm chi tiết đơn đặt phòng cho từng loại ChiTietDatPhong ct1 = new ChiTietDatPhong(); ChiTietDatPhong ct2 = new ChiTietDatPhong(); ChiTietDatPhong ct3 = new ChiTietDatPhong(); // DatPhong datPhong = new DatPhong(); datPhong.MaKhachHang = User.Identity.Name; datPhong.HoTenKhachHang = NguoiDat; datPhong.NgayTraPhong = DateTime.Parse(NgayTraPhong); datPhong.NgayNhanPhong = DateTime.Parse(NgayNhanPhong); datPhong.KhachSan = int.Parse(Request["MaKhachSan"].ToString()); datPhong.GiaTien = TongTien; _context.DatPhong.Add(datPhong); //_context.SaveChanges(); if (soPhongLite != 0) { ct1.MaLoaiPhong = "LITE"; ct1.SoLuong = soPhongLite; ct1.GiaTien = GiaPhongLite; ct1.MaDonDatPhong = datPhong.MaDatPhong; _context.ChiTietDatPhong.Add(ct1); //_context.SaveChanges(); } if (soPhongNormal != 0) { ct2.MaLoaiPhong = "NORMAL"; ct2.SoLuong = soPhongNormal; ct2.GiaTien = GiaPhongNormal; ct2.MaDonDatPhong = datPhong.MaDatPhong; _context.ChiTietDatPhong.Add(ct2); //_context.SaveChanges(); } if (soPhongVip != 0) { ct3.MaLoaiPhong = "VIP"; ct3.SoLuong = soPhongVip; ct3.GiaTien = GiaPhongVip; ct3.MaDonDatPhong = datPhong.MaDatPhong; _context.ChiTietDatPhong.Add(ct3); //_context.SaveChanges(); } try { //lưu phía portal _context.SaveChanges(); //lưu phía service HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://localhost:62912/"); //địa chỉ host service //client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var datPhongLite = new ModelDatPhong() {MaLoaiPhong = "LITE", SoLuong = soPhongLite.ToString(), NgayNhanPhong = NgayNhanPhong, NgayTraPhong = NgayTraPhong}; var datPhongNomarl = new ModelDatPhong() { MaLoaiPhong = "NORMAL", SoLuong = soPhongNormal.ToString(), NgayNhanPhong = NgayNhanPhong, NgayTraPhong = NgayTraPhong }; var datPhongVip = new ModelDatPhong() { MaLoaiPhong = "LITE", SoLuong = soPhongVip.ToString(), NgayNhanPhong = NgayNhanPhong, NgayTraPhong = NgayTraPhong }; MediaTypeFormatter jsonFormatter = new JsonMediaTypeFormatter(); HttpContent content = new ObjectContent<ModelDatPhong>(datPhongLite, jsonFormatter); HttpContent content1 = new ObjectContent<ModelDatPhong>(datPhongNomarl, jsonFormatter); HttpContent content2 = new ObjectContent<ModelDatPhong>(datPhongVip, jsonFormatter); var result = client.PostAsync("/api/Hotel/DatPhong", content).Result; var result1 = client.PostAsync("/api/Hotel/DatPhong", content1).Result; var result2 = client.PostAsync("/api/Hotel/DatPhong", content2).Result; if (result.IsSuccessStatusCode && result1.IsSuccessStatusCode && result2.IsSuccessStatusCode ) { return "Đặt thành công, bạn sẽ thanh toán khi tới check in "; } else { return "Đặt phòng thất bại, bạn vui lòng thử lại sau"; } } catch (Exception) { return "Đã có lỗi xảy ra, bạn vui lòng thử lại sau!"; } }