Exemple #1
0
        public ActionResult Index(int?loaiphong, DateTime?ngayden, DateTime?ngaydi, int?sophong, int?songuoi)
        {
            if (loaiphong != null && ngayden != null && ngaydi != null && sophong != null && songuoi != null)
            {
                var donDatPhong = new DonDatPhong
                {
                    NgayDatPhong = DateTime.Now,
                    NgayDen      = ngayden,
                    NgayDi       = ngaydi
                };

                Session["DonDatPhong"] = donDatPhong;

                var chiTiet = new ChiTietDonDatPhong
                {
                    MaLoaiPhong = loaiphong.Value,
                    LoaiPhong   = db.LoaiPhongs.FirstOrDefault(x => x.MaLoaiPhong == loaiphong),
                    SoNguoi     = songuoi,
                    SoPhong     = sophong
                };
                var listChiTiet = new List <ChiTietDonDatPhong>();
                listChiTiet.Add(chiTiet);
                Session["ChiTietDonDatPhong"] = listChiTiet;
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(DonDatPhong model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var obj = Db.DonDatPhongs.FirstOrDefault(x => x.MaDonDatPhong == model.MaDonDatPhong);
                    obj.NgayDen     = model.NgayDen;
                    obj.NgayDi      = model.NgayDi;
                    obj.HoTen       = model.HoTen;
                    obj.SoDienThoai = model.SoDienThoai;
                    obj.Email       = model.Email;
                    obj.GhiChu      = model.GhiChu;

                    Db.DonDatPhongs.Attach(obj);
                    Db.Entry(obj).State = EntityState.Modified;
                    Db.SaveChanges();
                    TempData["notice"] = "Sửa thành công!";

                    return(RedirectToAction("Index"));
                }
                catch
                {
                    TempData["notice"] = "Sửa không thành công!";
                }
            }
            return(View(model));
        }
Exemple #3
0
        public ActionResult RemoveOrder(int id)
        {
            DonDatPhong ddp = data.DonDatPhongs.FirstOrDefault(t => t.id_ddp == id);

            data.DonDatPhongs.DeleteOnSubmit(ddp);
            data.SubmitChanges();
            return(RedirectToAction("OrderControl"));
        }
        public ActionResult DanhGia(int maks)
        {
            DonDatPhong d = new DonDatPhong();

            if (Session["TaiKhoan"] != null)
            {
                KhacHang t = (KhacHang)Session["TaiKhoan"];

                d = db.DonDatPhongs.FirstOrDefault(x => x.MaKH == t.MaKH);
            }

            ViewBag.maks = maks;
            return(PartialView(d));
        }
        public ActionResult Add(DonDatPhong model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    model.NgayDatPhong = DateTime.Now;
                    model.MaTaiKhoan   = 1;

                    Db.DonDatPhongs.Add(model);
                    Db.SaveChanges();
                    TempData["notice"] = "Thêm thành công!";

                    return(RedirectToAction("Index"));
                }
                catch
                {
                    TempData["notice"] = "Thêm không thành công!";
                }
            }

            return(View(model));
        }
        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"));
        }
        public ActionResult Paypal()
        {
            var apiContext = Configuration.GetAPIContext();

            string payerId = Request.Params["PayerID"];

            if (string.IsNullOrEmpty(payerId))
            {
            }
            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 = new Payment();
                try
                {
                    executedPayment = payment.Execute(apiContext, paymentExecution);
                    if (executedPayment.state.ToLower() != "approved")
                    {
                        //fail
                        DonDatPhong dondat = (db.DonDatPhongs.OrderByDescending(x => x.id_ddp)).FirstOrDefault();
                        db.DonDatPhongs.DeleteOnSubmit(dondat);
                        Phong phdon = db.Phongs.FirstOrDefault(x => x.MaKS == (short)Session["maks"] && x.MaLoai == 1);
                        phdon.SL += Convert.ToInt16(Session["sopdon"]);
                        Phong phdoi = db.Phongs.FirstOrDefault(x => x.MaKS == (short)Session["maks"] && x.MaLoai == 2);
                        phdoi.SL += Convert.ToInt16(Session["sopdoi"]);
                        try
                        {
                            db.SubmitChanges();
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                        }
                        return(View("Fail"));
                    }
                }
                catch (Exception ee)
                {
                    DonDatPhong dondat = (db.DonDatPhongs.OrderByDescending(x => x.id_ddp)).FirstOrDefault();
                    db.DonDatPhongs.DeleteOnSubmit(dondat);
                    Phong phdon = db.Phongs.FirstOrDefault(x => x.MaKS == (short)Session["maks"] && x.MaLoai == 1);
                    phdon.SL += Convert.ToInt16(Session["sopdon"]);
                    Phong phdoi = db.Phongs.FirstOrDefault(x => x.MaKS == (short)Session["maks"] && x.MaLoai == 2);
                    phdoi.SL += Convert.ToInt16(Session["sopdoi"]);
                    try
                    {
                        db.SubmitChanges();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }
                    return(View("Fail"));
                }
            }
            return(View("Success"));
        }
Exemple #8
0
        public ActionResult Send(DateTime?ngayden, DateTime?ngaydi, string hoten, string sdt, string email, string ghichu)
        {
            if (Session["ChiTietDonDatPhong"] != null)
            {
                if (ngayden != null && ngaydi != null && hoten != null && sdt != null)
                {
                    if (ngayden > ngaydi)
                    {
                        var donDatPhongA = new DonDatPhong
                        {
                            NgayDen      = ngayden,
                            NgayDi       = ngaydi,
                            NgayDatPhong = DateTime.Now,
                            Email        = email,
                            GhiChu       = ghichu,
                            HoTen        = hoten,
                            SoDienThoai  = sdt
                        };
                        Session["DonDatPhongA"] = donDatPhongA;
                        TempData["mess"]        = "Ngày đến phải nhỏ hơn ngày đi";
                        return(RedirectToAction("Index"));
                    }

                    var chitetdatphongs = Session["ChiTietDonDatPhong"] as List <ChiTietDonDatPhong>;
                    var donDatPhong     = new DonDatPhong
                    {
                        NgayDen      = ngayden,
                        NgayDi       = ngaydi,
                        NgayDatPhong = DateTime.Now,
                        Email        = email,
                        GhiChu       = ghichu,
                        HoTen        = hoten,
                        SoDienThoai  = sdt,
                        MaTaiKhoan   = 1,
                        TrangThai    = "Mới"
                    };

                    db.DonDatPhongs.Add(donDatPhong);
                    db.SaveChanges();

                    foreach (var item in chitetdatphongs)
                    {
                        var chitiet = new ChiTietDonDatPhong
                        {
                            MaDonDatPhong = donDatPhong.MaDonDatPhong,
                            MaLoaiPhong   = item.MaLoaiPhong,
                            SoPhong       = item.SoPhong,
                            SoNguoi       = item.SoNguoi
                        };

                        db.ChiTietDonDatPhongs.Add(chitiet);
                        db.SaveChanges();
                    }

                    Session["ChiTietDonDatPhong"] = null;
                    Session["DonDatPhongA"]       = null;
                    Session["DonDatPhong"]        = null;

                    return(View("_ThankYou"));
                }
                else
                {
                    var donDatPhong = new DonDatPhong
                    {
                        NgayDen      = ngayden,
                        NgayDi       = ngaydi,
                        NgayDatPhong = DateTime.Now,
                        Email        = email,
                        GhiChu       = ghichu,
                        HoTen        = hoten,
                        SoDienThoai  = sdt
                    };
                    Session["DonDatPhongA"] = donDatPhong;

                    TempData["mess"] = "Chưa cung cấp đầy đủ thông tin ngày đến, ngày đi, họ tên, số điện thoại";
                }
            }
            else
            {
                var donDatPhong = new DonDatPhong
                {
                    NgayDen      = ngayden,
                    NgayDi       = ngaydi,
                    NgayDatPhong = DateTime.Now,
                    Email        = email,
                    GhiChu       = ghichu,
                    HoTen        = hoten,
                    SoDienThoai  = sdt
                };
                Session["DonDatPhongA"] = donDatPhong;

                TempData["mess"] = "Chưa cung cấp đầy đủ thông tin loại phòng, số người, số phòng";
            }
            return(RedirectToAction("Index"));
        }