public ActionResult GioDatBan(datBanOnline datBan, FormCollection f)
        {
            cartDatBan cart  = (cartDatBan)Session["datBan"];
            int        kqLuu = 0;

            if (cart.Info.Count > 0)
            {
                try
                {
                    qlCaPheEntities db = new qlCaPheEntities();
                    if (ModelState.IsValid)
                    {
                        this.layDuLieuTuViewCheckout(f, datBan);
                        db.datBanOnlines.Add(datBan);
                        kqLuu = db.SaveChanges();
                        if (kqLuu > 0)
                        {
                            this.themChiTietDatBan(db, cart, datBan.maDatBan);
                            this.xoaSessionDatBan();
                            return(RedirectToAction("Index"));
                        }
                    }
                    else
                    {
                        ViewBag.TableCheckout = taoDuLieuBangBanDaDat();
                        ViewBag.TongSucChua   = "Tổng sức chứa " + cart.getTotalCapacity();
                    }
                }
                catch (Exception ex)
                {
                    xulyFile.ghiLoi("Class: PublicPageController - Function: GioDatBan", ex.Message);
                }
            }
            return(View(datBan));
        }
        /// <summary>
        /// hàm tạo dữ liệu cho bảng bàn đã order
        /// </summary>
        /// <returns>Chuỗi html tạo giao diện bàn</returns>
        private string taoDuLieuBangBanDaDat()
        {
            string kq = "";

            try
            {
                cartDatBan cart = (cartDatBan)Session["datBan"];
                foreach (ctDatBan item in cart.Info.Values)
                {
                    kq += "<tr>";
                    kq += "      <td>";
                    kq += "          <img src=\"" + xulyDuLieu.chuyenByteHinhThanhSrcImage(item.BanChoNgoi.hinhAnh) + "\" style=\"width:100%; height:auto;\">";
                    kq += "          <b class=\"table-ordered-tablename\">" + xulyDuLieu.traVeKyTuGoc(item.BanChoNgoi.tenBan) + "</b>";
                    kq += "      </td>";
                    kq += "      <td>" + xulyDuLieu.traVeKyTuGoc(item.BanChoNgoi.khuVuc.tenKhuVuc) + "</td>";
                    kq += "      <td>" + item.BanChoNgoi.sucChua.ToString() + "</td>";
                    kq += "      <td><button task=\"" + item.maBan.ToString() + "\" class=\"js-btn-xoaban btn btn-danger btn-sm\"><i class=\"glyphicon glyphicon-trash\"></i></button></td>";
                    kq += "  </tr>";
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: PublicPageController - Function: taoDuLieuBangBanDaDat", ex.Message);
                Response.Redirect(xulyChung.layTenMien() + "Home/ServerError");
            }
            return(kq);
        }
        /// <summary>
        /// Hàm thực hiện Thêm mới 1 bàn vào giỏ đặt bàn
        /// </summary>
        /// <param name="param">Tham số chứa mã bàn cần dặt</param>
        /// <returns>Chuỗi chứa số lượng bàn</returns>
        public string AjaxDatBan(string param)
        {
            int        soLuongBanDat = 0;
            cartDatBan cart          = (cartDatBan)Session["datBan"];

            try
            {
                int             maBan  = xulyDuLieu.doiChuoiSangInteger(param);
                qlCaPheEntities db     = new qlCaPheEntities();
                BanChoNgoi      banDat = db.BanChoNgois.SingleOrDefault(b => b.maBan == maBan);
                if (banDat != null)
                {
                    //------Thêm bàn cần đặt vào giỏ
                    ctDatBan ctAdd = new ctDatBan();
                    ctAdd.maBan      = banDat.maBan;
                    ctAdd.ghiChu     = "";
                    ctAdd.BanChoNgoi = banDat;
                    cart.addCart(ctAdd);
                    Session["datBan"] = cart;
                }
                soLuongBanDat = cart.Info.Count;
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: PublicPageController - Function: AjaxDatBan", ex.Message);
                Response.Redirect(xulyChung.layTenMien() + "Home/ServerError");
            }
            return("Đã đặt: " + soLuongBanDat.ToString() + " bàn");
        }
Exemplo n.º 4
0
 void Session_Start(object sender, EventArgs e)
 {
     //--Tạo session object chứa chi tiết công thức pha chế
     Session["congThuc"] = new cartCongThuc();
     //--Tạo session object chứa thông tin chi tiết phiếu nhập kho
     Session["ctNhapKho"] = new cartNhapKho();
     //--Tạo session object chứa thông tin chi tiết của hóa đơn tạm
     Session["hoaDonTam"] = new cartHoaDonTam();
     //--Tạo session lưu đường dẫn và request
     Session["urlAction"] = "";
     //--Tạo session object chứa thông tin chi tiết phiếu xuất kho
     Session["ctXuatKho"] = new cartXuatKho();
     //--Tạo session object chứa thông tin nguyên liệu cần kiểm kho
     Session["truocKiemKho"] = new cartKiemKho();
     //--Tạo session object chứa thông tin nguyên liệu đã kiểm
     Session["sauKiemKho"] = new cartKiemKho();
     //--Tạo session chứa danh sách các trang được phép truy cập
     Session["quyenHan"] = new cartQuyenHan();
     //--Tạo session chứa thông tin chi tiết điều phối
     Session["dieuPhoi"] = new cartDieuPhoi();
     //--Tạo session chứa object các mục tiêu chưa đánh giá
     Session["chuaDanhGia"] = new cartMucTieu();
     //--Tạo session chứa object các mục tiêu đã đánh giá
     Session["daDanhGia"] = new cartDanhGia();
     //--Tạo session object chứa thông tin người dùng đăng nhập hệ thống
     Session["login"] = new taiKhoan();
     //--Tạo session object chứa các bàn đã đặt
     Session["datBan"] = new cartDatBan();
 }
        /// <summary>
        /// Hàm xóa 1 bàn đã order
        /// </summary>
        /// <param name="param">Mã bàn đã order cần xóa</param>
        /// <returns>Chuồi html tạo bảng các bàn còn lại | tổng số lượng bàn đã xóa</returns>
        public string AjaxXoaOrderBan(string param)
        {
            string kq = "";

            try
            {
                cartDatBan cart     = (cartDatBan)Session["datBan"];
                int        maBanXoa = xulyDuLieu.doiChuoiSangInteger(param);
                cart.removeItem(maBanXoa);
                kq += taoDuLieuBangBanDaDat() + "&&&Tổng sức chứa: " + cart.getTotalCapacity();
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: PublicPageController - Function: AjaxXoaOrderBan", ex.Message);
                Response.Redirect(xulyChung.layTenMien() + "Home/ServerError");
            }
            return(kq);
        }
 /// <summary>
 /// Hàm thực hiện thêm chi tiết đặt bàn online vào CSDL
 /// </summary>
 /// <param name="db"></param>
 /// <param name="cart">Object chứa danh sách bàn đã đặt trong giỏ</param>
 private void themChiTietDatBan(qlCaPheEntities db, cartDatBan cart, int maDatBan)
 {
     try
     {
         foreach (ctDatBan item in cart.Info.Values)
         {
             ctDatBan ctAdd = new ctDatBan();
             ctAdd.ghiChu   = "";
             ctAdd.maBan    = item.maBan;
             ctAdd.maDatBan = maDatBan;
             db.ctDatBans.Add(ctAdd);
             db.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         xulyFile.ghiLoi("Class: PublicPageController - Function: themChiTietDatBan", ex.Message);
     }
 }
        /// <summary>
        /// hàm tạo giao diện checkout
        /// </summary>
        /// <returns></returns>
        public ActionResult GioDatBan()
        {
            cartDatBan cart = (cartDatBan)Session["datBan"];

            try
            {
                //-----Nếu trong giỏ chưa có bàn thì chuyển đến giao diện đặt bàn
                if (cart.Info.Values.Count > 0)
                {
                    ViewBag.TableCheckout = taoDuLieuBangBanDaDat();
                    ViewBag.TongSucChua   = "Tổng sức chứa " + cart.getTotalCapacity();
                }
                else
                {
                    return(RedirectToAction("DanhSachBan"));
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: PublicPageController - Function: GioDatBan", ex.Message);
                Response.Redirect(xulyChung.layTenMien() + "Home/ServerError");
            }
            return(View());
        }