public Boolean Add(ChiTietDatPhong ctdp) { try { return(new ChiTietDatPhongDAL().Add(ctdp)); } catch (SqlException ex) { throw ex; } }
public Boolean Add(ChiTietDatPhong ctdp) { List <SqlParameter> paras = new List <SqlParameter>(); paras.Add(new SqlParameter("@IDDatPhong", ctdp.iDDatPhong)); paras.Add(new SqlParameter("@IDPhong", ctdp.iDPhong)); paras.Add(new SqlParameter("@NgayNhan", ctdp.ngayNhan.ToString("yyyy-MM-dd"))); paras.Add(new SqlParameter("@NgayTra", ctdp.ngayTra.ToString("yyyy-MM-dd"))); paras.Add(new SqlParameter("@ThanhTien", ctdp.thanhTien)); paras.Add(new SqlParameter("@GiamGia", ctdp.giamGia)); try { return(_dp.ExecuteQuery("uspThemChiTietDatPhong", System.Data.CommandType.StoredProcedure, paras)); } catch (SqlException ex) { throw ex; } }
public ActionResult Paypal(FormCollection form, string url) { if (Session["TaiKhoan"] == null || Session["TaiKhoan"].ToString() == "") { return(RedirectToAction("DN", "Use", new { url = url })); } else { short MaKH = Convert.ToInt16(((tmt.Models.KhacHang)Session["TaiKhoan"]).MaKH); short maks = Convert.ToInt16(form["maks"]); int sopdon = Convert.ToInt32(form["sopdon"]); int sopdoi = Convert.ToInt32(form["sopdoi"]); DateTime ngayden = DateTime.Parse(form["ngayden"]); DateTime ngaytra = DateTime.Parse(form["ngaytra"]); KhachSan ks = db.KhachSans.FirstOrDefault(x => x.MaKS == maks); Phong pdon = db.Phongs.FirstOrDefault(x => x.MaKS == maks && x.MaLoai == 1); Phong pdoi = db.Phongs.FirstOrDefault(x => x.MaKS == maks && x.MaLoai == 2); decimal gdon25 = Convert.ToDecimal(pdon.Gia25); decimal gdon68 = Convert.ToDecimal(pdon.Gia68); decimal gdoi25 = Convert.ToDecimal(pdoi.Gia25); decimal gdoi68 = Convert.ToDecimal(pdoi.Gia68); decimal tongpdon = 0; decimal tongpdoi = 0; decimal tongthanhtien = 0; for (DateTime date = ngayden; date < ngaytra; date = date.AddDays(1)) { if (date.DayOfWeek != DayOfWeek.Friday && date.DayOfWeek != DayOfWeek.Saturday && date.DayOfWeek != DayOfWeek.Sunday) { //gia25 tongpdon += gdon25 * sopdon; tongpdoi += gdoi25 * sopdoi; } else { //gia68 tongpdon += gdon68 * sopdon; tongpdoi += gdoi68 * sopdoi; } } tongthanhtien += tongpdon + tongpdoi; string giapdon = tongpdon.ToString(); string giapdoi = tongpdoi.ToString(); string thanhtien = tongthanhtien.ToString(); int?id = 0; db.P_GetIDDonDatPhong(ref id); string dondat_id = (id + 1).ToString(); DonDatPhong dondat = new DonDatPhong(); dondat.MaKH = MaKH; dondat.MaKS = ks.MaKS; dondat.ngay_dat = DateTime.Now; dondat.thanh_tien = tongthanhtien; dondat.DanhGia = false; db.DonDatPhongs.InsertOnSubmit(dondat); try { db.SubmitChanges(); } catch (Exception e) { Console.WriteLine(e); } ChiTietDatPhong chitiet = new ChiTietDatPhong(); chitiet.dondat_id = dondat.id_ddp; chitiet.maks = maks; chitiet.maloai = 1; chitiet.soluong = sopdon; chitiet.ngay_den = ngayden; chitiet.ngay_tra = ngaytra; db.ChiTietDatPhongs.InsertOnSubmit(chitiet); chitiet = new ChiTietDatPhong(); chitiet.dondat_id = dondat.id_ddp; chitiet.maks = maks; chitiet.maloai = 2; chitiet.soluong = sopdoi; chitiet.ngay_den = ngayden; chitiet.ngay_tra = ngaytra; db.ChiTietDatPhongs.InsertOnSubmit(chitiet); try { db.SubmitChanges(); } catch (Exception e) { Console.WriteLine(e); } Session["maks"] = maks; Session["sopdon"] = sopdon; Session["sopdoi"] = sopdoi; Phong phdon = db.Phongs.FirstOrDefault(x => x.MaKS == maks && x.MaLoai == 1); phdon.SL -= Convert.ToInt16(sopdon); Phong phdoi = db.Phongs.FirstOrDefault(x => x.MaKS == maks && x.MaLoai == 2); phdoi.SL -= Convert.ToInt16(sopdoi); try { db.SubmitChanges(); } catch (Exception) { } var apiContext = Configuration.GetAPIContext(); string payerId = Request.Params["PayerID"]; if (string.IsNullOrEmpty(payerId)) { var itemList = new ItemList() { items = new List <Item>() { new Item() { name = "p don", currency = "USD", price = giapdon, quantity = "1", sku = "sku" }, new Item() { name = "p doi", currency = "USD", price = giapdoi, quantity = "1", sku = "sku" } } }; var payer = new Payer() { payment_method = "paypal" }; var baseURI = Request.Url.Scheme + "://" + Request.Url.Authority + "/InfoHotel/Paypal?"; var guid = Convert.ToString((new Random()).Next(100000)); var redirectUrl = baseURI + "guid=" + guid; var redirUrls = new RedirectUrls() { cancel_url = redirectUrl + "&cancel=true", return_url = redirectUrl }; var details = new Details() { tax = "0", shipping = "0", subtotal = thanhtien }; var amount = new Amount() { currency = "USD", total = thanhtien, // Total must be equal to sum of shipping, tax and subtotal. details = details }; var transactionList = new List <Transaction>(); transactionList.Add(new Transaction() { description = ks.TenKS, invoice_number = dondat_id, amount = amount, item_list = itemList }); var payment = new Payment() { intent = "sale", payer = payer, transactions = transactionList, redirect_urls = redirUrls }; string paypalRedirectUrl = null; try { var createdPayment = payment.Create(apiContext); var links = createdPayment.links.GetEnumerator(); while (links.MoveNext()) { var link = links.Current; if (link.rel.ToLower().Trim().Equals("approval_url")) { // paypalRedirectUrl = link.href; } } Session.Add(guid, createdPayment.id); } catch (Exception ee) { //fail DonDatPhong zdondat = (db.DonDatPhongs.OrderByDescending(x => x.id_ddp)).FirstOrDefault(); db.DonDatPhongs.DeleteOnSubmit(zdondat); Phong zphdon = db.Phongs.FirstOrDefault(x => x.MaKS == (short)Session["maks"] && x.MaLoai == 1); zphdon.SL += Convert.ToInt16(Session["sopdon"]); Phong zphdoi = db.Phongs.FirstOrDefault(x => x.MaKS == (short)Session["maks"] && x.MaLoai == 2); zphdoi.SL += Convert.ToInt16(Session["sopdoi"]); try { db.SubmitChanges(); } catch (Exception e) { Console.WriteLine(e); } return(View("Fail")); } return(Redirect(paypalRedirectUrl)); } else { var guid = Request.Params["guid"]; var paymentId = Session[guid] as string; var paymentExecution = new PaymentExecution() { payer_id = payerId }; var payment = new Payment() { id = paymentId }; var executedPayment = payment.Execute(apiContext, paymentExecution); if (executedPayment.state.ToLower() != "approved") { //fail return(View("Fail")); } } } return(View("Cám ơn bạn đã sử dụng dịch vụ của chúng tôi")); }
// xác nhận đặt phòng public async Task <IActionResult> XacNhanDatPhong(DatPhongCartVM ab) { if (ModelState.IsValid) { // lấy đc id vừa add vào db : đã lấy đc _Context.Add(ab.newDatPhong); await _Context.SaveChangesAsync(); int newDatPhongId = ab.newDatPhong.Id; #region Phong // list Id Phong List <int> lstsPhongCart = HttpContext.Session.Get <List <int> >("ssPhongCart"); // xác định số dòng cần thêm cho mỗi phòng var soNgay = (int)(ab.newDatPhong.ThoiGianTraPhongDuKien.Date - ab.newDatPhong.ThoiGianNhanPhongDuKien.Date).TotalDays; var thoiGianinChiTietDatPhong = ab.newDatPhong.ThoiGianTraPhongDuKien.Date; for (int j = 0; j < soNgay; j++) { foreach (var i in lstsPhongCart) { var objChiTietDatPhong = new ChiTietDatPhong { DatPhongId = newDatPhongId, PhongId = i, TrangThaiId = 1, ThoiGian = thoiGianinChiTietDatPhong }; // nếu không tồn tại cùng ngày cùng tháng thì ghi vô var IsTonTai = from m in _Context.ChiTietDatPhongs where m == objChiTietDatPhong select m; if (IsTonTai.Count() != 0) { break; } _Context.ChiTietDatPhongs.Add(objChiTietDatPhong); await _Context.SaveChangesAsync(); } thoiGianinChiTietDatPhong.AddDays(1); } #endregion #region dichvu List <int> lstsDichVuCart = HttpContext.Session.Get <List <int> >("ssDichVuCart"); foreach (var i in lstsDichVuCart) { var objChiTietDichVuDatPhong = new ChiTietDichVuDatPhong() { DatPhongId = newDatPhongId, DichVuId = i, SoLuong = 1 // đang test mặc định số lượng dịch vụ là 1; }; _Context.ChiTietDichVuDatPhongs.Add(objChiTietDichVuDatPhong); await _Context.SaveChangesAsync(); } #endregion } return(RedirectToAction("Index", "DatPhongs", new { area = "Admin" })); }
public void New(ChiTietDatPhong obj) { throw new NotImplementedException(); }
private void btnOK_Click(object sender, EventArgs e) { if (iDKhachHang == 0) { MessageBox.Show("Vui lòng chọn Khách Hàng...", "Chú ý!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } // Insert Đặt phòng DataTable dtDP = GetDatPhong(); DateTime ngayDat = DateTime.Now; DatPhong dp = new DatPhong(iD, iDKhachHang, iDNhanVien, ngayDat, tongThu, traTruoc, "", true); try { new DatPhongBLL().Add(dtDP, dp); new DatPhongBLL().SaveData(ref dtDP); } catch (Exception ex) { MessageBox.Show("Lỗi: " + ex.Message, "Chú ý!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Insert CTDP foreach (DataRow dr in dtChoose.Rows) { ChiTietDatPhong ctdp = new ChiTietDatPhong(iD, Convert.ToInt32(dr[colIDPhong.FieldName]), Convert.ToDateTime(dr[colNgayNhan.FieldName]), Convert.ToDateTime(dr[colNgayTra.FieldName]), Convert.ToDecimal(dr[colThanhTien.FieldName]), giamGia); try { new ChiTietDatPhongBLL().Add(ctdp); } catch (Exception ex) { MessageBox.Show("Lỗi: " + ex.Message, "Chú ý!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } // Update Khách Hàng: TÍCH LŨY + TRẠNG THÁI lstKH[lookKhachHang.ItemIndex].tichLuy += tongTien; lstKH[lookKhachHang.ItemIndex].trangThai = true; try { new KhachHangBLL().Change(lstKH[lookKhachHang.ItemIndex]); } catch (Exception ex) { MessageBox.Show("Lỗi: " + ex.Message, "Chú ý!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } coHieu = true; Form frmTB = GetFormThongBao(); frmTB.ShowDialog(); this.Close(); }