Example #1
0
 public Boolean Add(ChiTietDatPhong ctdp)
 {
     try
     {
         return(new ChiTietDatPhongDAL().Add(ctdp));
     }
     catch (SqlException ex)
     {
         throw ex;
     }
 }
Example #2
0
        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"));
        }
Example #4
0
        // 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" }));
        }
Example #5
0
 public void New(ChiTietDatPhong obj)
 {
     throw new NotImplementedException();
 }
Example #6
0
        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();
        }