コード例 #1
0
        /// <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");
        }
コード例 #2
0
 public ActionResult b_TaoMoiBan(FormCollection f, BanChoNgoi ban)
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         string          ndThongBao = ""; int kqLuu = 0;
         qlCaPheEntities db = new qlCaPheEntities();
         try
         {
             this.layDuLieuTuView(f, ban);
             kiemTraTenBanTrung(db, ban.tenBan);
             ban.trangThai = 1; //Thiết lập trạng thái bàn đang sử dụng
             db.BanChoNgois.Add(ban);
             kqLuu = db.SaveChanges();
             if (kqLuu > 0)
             {
                 ndThongBao = createHTML.taoNoiDungThongBao("Bàn", xulyDuLieu.traVeKyTuGoc(ban.tenBan), "b_TableBan");
                 this.resetDuLieu();
                 this.taoDuLieuChoCbb(db);
                 xulyChung.ghiNhatKyDtb(2, "Bàn \" " + xulyDuLieu.traVeKyTuGoc(ban.tenBan) + " \"");
             }
         }
         catch (Exception ex)
         {
             //Tạo nội dung thông báo
             ndThongBao = ex.Message;
             xulyFile.ghiLoi("Class BanController - Function: b_TaoMoiBan", ex.Message);
             this.resetDuLieu();
             //----Hiện lại dữ liệu khi thông báo lỗi
             this.doDuLieuLenView(ban, db);
         }
         ViewBag.ThongBao = createHTML.taoThongBaoLuu(ndThongBao);
     }
     return(View());
 }
コード例 #3
0
 /// <summary>
 /// Hàm thực hiện đổ dữ liệu bàn lên view để chỉnh sửa
 /// </summary>
 private void doDuLieuLenView(BanChoNgoi ban, qlCaPheEntities db)
 {
     if (ban != null)
     {
         ViewBag.txtMaBan = ban.maBan.ToString();
         //Hiển thị combobox khu vực
         string htmlCbb = "";
         foreach (khuVuc kv in db.khuVucs.ToList().OrderBy(m => m.tenKhuVuc))
         {
             if (kv.maKhuVuc == ban.maKhuVuc) //Nếu bàn thuộc khu vực đang duyệt thì combobox sẽ chọn là cbbKhu vực
             {
                 htmlCbb += "<option selected value=\"" + kv.maKhuVuc.ToString() + "\">" + xulyDuLieu.traVeKyTuGoc(kv.tenKhuVuc) + "</option>";
             }
             else
             {
                 htmlCbb += "<option value=\"" + kv.maKhuVuc.ToString() + "\">" + xulyDuLieu.traVeKyTuGoc(kv.tenKhuVuc) + "</option>";
             }
         }
         ViewBag.cbbKhuVuc    = htmlCbb;
         ViewBag.txtTenBan    = xulyDuLieu.traVeKyTuGoc(ban.tenBan);
         ViewBag.txtGioiThieu = xulyDuLieu.traVeKyTuGoc(ban.gioiThieu);
         ViewBag.txtSucChua   = ban.sucChua.ToString();
         ViewBag.txtGhiChu    = xulyDuLieu.traVeKyTuGoc(ban.ghiChu);
         if (ban.hinhAnh != null)
         {
             ViewBag.hinhDD = xulyDuLieu.chuyenByteHinhThanhSrcImage(ban.hinhAnh);
         }
     }
 }
コード例 #4
0
        /// <summary>
        /// Hàm tạo các nút chức năng cho bảng danh mục bàn
        /// </summary>
        /// <param name="ban"></param>
        /// <param name="trangThai"></param>
        /// <returns></returns>
        private string taoNutChucNangChoBang(BanChoNgoi ban, int trangThai)
        {
            string htmlTable = "";

            htmlTable += "          <div class=\"btn-group\">";
            htmlTable += "              <button type=\"button\" class=\"btn btn-primary dropdown-toggle\" data-toggle=\"dropdown\">";
            htmlTable += "                  Chức năng <span class=\"caret\"></span>";
            htmlTable += "              </button>";
            htmlTable += "              <ul class=\"dropdown-menu\" role=\"menu\">";
            htmlTable += createTableData.taoNutChinhSua("/Ban/b_ChinhSuaBan", ban.maBan.ToString());
            switch (trangThai) //Thực hiện tạo các chức năng cập nhật trạng thái
            {
            case 0:            //Cập nhật trạng thái là sửa hoặc sửa dụng
                htmlTable += "                  <li><a href=\"capNhatTrangThai?maBan=" + ban.maBan.ToString() + "&trangThai=1\" class=\"col-green\"><i class=\"material-icons\">done_all</i>Sử dụng</a></li>";
                htmlTable += "                  <li><a href=\"capNhatTrangThai?maBan=" + ban.maBan.ToString() + "&trangThai=2\" class=\"col-orange\"><i class=\"material-icons\">build</i>Sữa chữa</a></li>";
                break;

            case 1:      //Cập nhật trạng thái là sửa hoặc ngưng sủ dụng
                htmlTable += "                  <li><a href=\"capNhatTrangThai?maBan=" + ban.maBan.ToString() + "&trangThai=2\" class=\"col-orange\"><i class=\"material-icons\">build</i>Sữa chữa</a></li>";
                htmlTable += "                  <li><a href=\"capNhatTrangThai?maBan=" + ban.maBan.ToString() + "&trangThai=0\" class=\"col-gray\"><i class=\"material-icons\">cancel</i>Ngưng sử dụng</a></li>";
                break;

            case 2:      //Cập nhật trạng thái là sủ dụng hoặc ngưng sử dụng
                htmlTable += "                  <li><a href=\"capNhatTrangThai?maBan=" + ban.maBan.ToString() + "&trangThai=1\" class=\"col-green\"><i class=\"material-icons\">done_all</i>Sử dụng</a></li>";
                htmlTable += "                  <li><a href=\"capNhatTrangThai?maBan=" + ban.maBan.ToString() + "&trangThai=0\" class=\"col-gray\"><i class=\"material-icons\">build</i>Ngưng sử chữa</a></li>";
                break;
            }
            htmlTable += createTableData.taoNutXoaBo(ban.maBan.ToString());
            htmlTable += "              </ul>";
            htmlTable += "          </div>";
            return(htmlTable);
        }
コード例 #5
0
 /// <summary>
 /// Hàm thực hiện cập nhật trạng thái của bàn
 /// </summary>
 /// <param name="maBan">Mã bàn cần cập nhật</param>
 /// <param name="trangThai">Trạng thái cần cập nhật: (0: ngừng sử dụng 1: Còn sử dụng, 2: Đang sửa)</param>
 /// <returns></returns>
 public ActionResult capNhatTrangThai(int maBan, int trangThai)
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         try
         {
             //----Kiểm tra trạng thái. Chỉ nhận và cập nhật 1 trong 3 trạng thái
             if (trangThai == 0 || trangThai == 1 || trangThai == 2)
             {
                 qlCaPheEntities db = new qlCaPheEntities(); int kqLuu = 0;
                 BanChoNgoi      banSua = db.BanChoNgois.SingleOrDefault(b => b.maBan == maBan);
                 if (banSua != null)
                 {
                     //----Nếu bàn không sử dụng thì cho phép cập nhật
                     if (!this.kiemTraBanDangSuDung(banSua.maBan, db))
                     {
                         int ttTemp = (int)banSua.trangThai;//-----Biến lưu lại trạng thái của bàn trước khi cập nhật để khi cập nhật xong sẽ chuyển về giao diện danh mục trước đó
                         banSua.trangThai       = trangThai;
                         db.Entry(banSua).State = System.Data.Entity.EntityState.Modified;
                         kqLuu = db.SaveChanges();
                         if (kqLuu > 0)
                         {
                             xulyChung.ghiNhatKyDtb(4, "Cập nhật trạng thái bàn \" " + xulyDuLieu.traVeKyTuGoc(banSua.tenBan) + " \"");
                             //----Dựa vào trạng thái bàn trước đó để chuyển đến giao diện bàn tương ứng
                             if (ttTemp == 1)
                             {
                                 return(RedirectToAction("b_TableBan"));
                             }
                             else if (ttTemp == 2)
                             {
                                 return(RedirectToAction("b_TableBanSuaChua"));
                             }
                         }
                     }
                     else
                     {
                         throw new Exception("Bàn chổ ngồi có mã ''" + maBan.ToString() + "' đang sử dụng. không thể cập nhật trạng thái");
                     }
                 }
                 else
                 {
                     throw new Exception("Bàn chổ ngồi có mã'" + maBan.ToString() + "' không tồn tại để cập nhật");
                 }
             }
             else
             {
                 throw new Exception("Không thể cập nhật trạng thái '" + trangThai.ToString() + "' cho bàn");
             }
         }
         catch (Exception ex)
         {
             xulyFile.ghiLoi("Class: BanController - Function: capNhatTrangThai", ex.Message);
         }
     }
     //----Mặc định, dựa vào trạng thái để chuyển đến giao diện hợp lý. Nếu không thì sẽ trả về danh mục bàn bị hủy bỏ
     return(RedirectToAction("b_TableBanHuyBo"));
 }
コード例 #6
0
 public ActionResult b_ChinhSuaBan(FormCollection f)
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         int        kqLuu = 0;
         BanChoNgoi banSua = new BanChoNgoi(); qlCaPheEntities db = new qlCaPheEntities();
         try
         {
             int maBan = Convert.ToInt32(f["txtMaBan"]);
             banSua = db.BanChoNgois.Single(b => b.maBan == maBan);
             string tenBanCu = banSua.tenBan; //--------Lưu lại tên bàn cũ để tiến hành so sánh tên bàn có tồn tại khi xảy ra thay đổi
             this.layDuLieuTuView(f, banSua);
             //----Kiểm tra tên bàn có thay đổi không
             if (banSua.tenBan != tenBanCu) //-----Nếu tên bàn có thay đổi thì kiểm tra tên bàn đã có tồn tại chưa
             {
                 this.kiemTraTenBanTrung(db, banSua.tenBan);
             }
             db.Entry(banSua).State = System.Data.Entity.EntityState.Modified;
             kqLuu = db.SaveChanges();
             if (kqLuu > 0)
             {
                 this.resetDuLieu();
                 xulyChung.ghiNhatKyDtb(4, "Bàn \" " + xulyDuLieu.traVeKyTuGoc(banSua.tenBan) + " \"");
                 //---Dựa vào trạng thái bàn cập nhật hiện tại để chuyển đến giao diện tương ứng
                 if (banSua.trangThai == 0)
                 {
                     return(RedirectToAction("b_TableBanHuyBo"));
                 }
                 else if (banSua.trangThai == 1)
                 {
                     return(RedirectToAction("b_TableBan"));
                 }
                 else if (banSua.trangThai == 2)
                 {
                     return(RedirectToAction("b_TableBanSuaChua"));
                 }
             }
         }
         catch (Exception ex)
         {
             ViewBag.ThongBao = createHTML.taoThongBaoLuu(ex.Message);
             xulyFile.ghiLoi("Class: BanController - Function: b_ChinhSuaBan", ex.Message);
             //----Hiện lại dữ liệu khi thông báo lỗi
             this.resetDuLieu();
             this.doDuLieuLenView(banSua, db);
         }
     }
     return(View());
 }
コード例 #7
0
        /// <summary>
        /// Hàm tạo html cho mỗi bàn đang được duyệt
        /// </summary>
        /// <param name="b">Đối tượng bàn đang duyệt để gán dữ liệu</param>
        /// <param name="trangThai">Dựa vào trạng thái cần lấy danh sách để gán dữ liệu cho title và chức năng có trên item</param>
        /// <returns>html cho mỗi item bàn</returns>
        private string htmlItemBan(BanChoNgoi b, int trangThai)
        {
            string html = "";

            html += "<div class=\"col-lg-4 col-md-4 col-sm-6 col-xs-12\">";
            html += "   <div class=\"card\">";
            html += this.taoHeaderItemBan(b, trangThai);//---Thiết lập title cho bàn trống (Màu sắc)
            //-----------Body cho cart item bàn
            html += "       <div class=\"body\">";
            html += "          <img  src=\"" + xulyDuLieu.chuyenByteHinhThanhSrcImage(b.hinhAnh) + "\" width=\"100%;\" height=\"auto;\" />";
            html += "       </div>";
            html += "       <div class=\"footer\">";
            html += this.listButtonFunction(trangThai, b.maBan);
            html += "       </div>";
            html += "   </div>";
            html += "</div>";
            return(html);
        }
コード例 #8
0
        /// <summary>
        /// hàm thực hiện lấy dữ liệu nhập vào từ giao diện
        /// </summary>
        /// <param name="f"></param>
        /// <param name="ban"></param>
        private void layDuLieuTuView(FormCollection f, BanChoNgoi ban)
        {
            string loi = "";

            ban.tenBan = xulyDuLieu.xulyKyTuHTML(f["txtTenBan"]);
            if (ban.tenBan.Length <= 0)
            {
                loi += "Vui lòng nhập tên bàn - chổ ngồi <br/>";
            }
            ban.gioiThieu = xulyDuLieu.xulyKyTuHTML(f["txtGioiThieu"]);
            if (ban.gioiThieu.Length <= 0)
            {
                loi += "Vui lòng nhập thông tin giới thiệu cho bàn - chổ ngồi </br>";
            }
            ban.sucChua = xulyDuLieu.doiChuoiSangInteger(f["txtSucChua"]);
            if (ban.sucChua <= 0)
            {
                loi += "Vui lòng nhập sức chứa - chổ ngồi của bàn lớn hơn 0";
            }
            ban.ghiChu   = xulyDuLieu.xulyKyTuHTML(f["txtGhiChu"]);
            ban.maKhuVuc = Convert.ToInt32(f["cbbKhuVuc"]);
            if (ban.maKhuVuc <= 0)
            {
                loi += "Vui lòng chọn khu vực quản lý bàn";
            }
            string pathHinh = f["pathHinh"];

            //------Kiểm tra xem có chọn hình không.
            if (!pathHinh.Equals(""))                                          //Nếu có chọn hình  thì luu hình vào csdl
            {
                pathHinh    = xulyMaHoa.Decrypt(pathHinh);                     //Giải mã lại chuỗi đường dẫn lưu hình ảnh trên đĩa đã được mã hóa trong ajax
                ban.hinhAnh = xulyDuLieu.chuyenDoiHinhSangByteArray(pathHinh); //Lưu hình vào thuộc tính hinhAnh
            }
            else //-------Nếu không có chọn hình
            if (f["txtMaBan"] == null)     //--------Kiểm tra xem có mã sản phẩm không. Nếu không tức là thêm mới và báo lỗi
            {
                loi += "Vui lòng chọn hình ảnh cho bàn <br/>";
            }
            if (loi.Length > 0)
            {
                throw new Exception(loi);
            }
        }
コード例 #9
0
        /// <summary>
        /// Hàm tạo header cho item cart bàn
        /// <param name="b">Object bàn để gán các thuộc tính lên header</param>
        /// <param name="trangThai">-1: Danh sách bàn trống - 0:Trạng thái bàn vừa nhận (Khách vừa vào và chưa gọi món) -  1:Trạng thái bàn đã order -- 3:Trạng thái bàn đang chờ dọn dẹp</param>
        /// </summary>
        /// <returns>Html cho div title để xác định màu</returns>
        private string taoHeaderItemBan(BanChoNgoi b, int trangThai)
        {
            string html = "<div class=\"header ";

            switch (trangThai) //-------Thiết lập màu header phụ thuộc vào trạng thái của bàn
            {
            case -1:           //---Danh sách bàn trống. Màu XÁM
                html += " bg-grey"; break;

            case 0:    //Trạng thái bàn vừa nhận (Khách vừa vào và chưa gọi món) . Màu XANH LÁ MẠ
                html += " bg-light-green "; break;

            case 1:     //Trạng thái bàn khách đã gọi đồ uống gọi món. Màu ĐỎ
                html += "bg-red "; break;

            case 3:    //Trạng thái bàn đang chờ trả bàn reset lại. Màu TÍM
                html += " bg-purple "; break;

            default: break;
            }
            html += "\" >"; //Đóng starttag header
            html += "           <h2>" + xulyDuLieu.traVeKyTuGoc(b.tenBan) + " - Sức chứa: " + b.sucChua.ToString() + " chỗ";
            //------------------------------Gán thông tin GIỚI THIỆU BÀN lên giao diện. Thực hiện CẮT CHUỔI đối với bàn có thông tin giới thiệu LỚN HƠN 38 ký tự
            html += "               <small>" + xulyDuLieu.traVeKyTuGoc(xulyDuLieu.xulyCatChuoi(b.gioiThieu, 38)) + "</small>";
            html += "           </h2>";
            if (trangThai == 0 || trangThai == 1) //------Nếu trạng thái bàn CÓ KHÁCH NGỒI CHƯA ORDER hoặc bàn ĐÃ ORDER thì thêm chức năng ĐỔI CHỔ
            {
                html += "             <ul class=\"header-dropdown m-r--5\">";
                html += "                 <li class=\"dropdown\">";
                html += "                     <a class=\"dropdown-toggle\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">";
                html += "                     <i class=\"material-icons\">more_vert</i>";
                html += "                     </a>";
                html += "                     <ul class=\"dropdown-menu pull-right\">";
                html += "                       <li><a  data-toggle=\"modal\" data-target=\"#modalDoiBan\"  maban=\"" + b.maBan.ToString() + "\" class=\"doiCho col-cyan waves-effect\"><i class=\"bg-red material-icons\">update</i>Đổi chổ</a></li>";
                html += "                     </ul>";
                html += "                 </li>";
                html += "             </ul>";
            }
            html += "</div>"; //-------Đóng div header
            return(html);
        }
コード例 #10
0
 /// <summary>
 /// Hàm thực hiện tạo giao diện chỉnh sửa bàn
 /// </summary>
 /// <param name="maBan"></param>
 /// <returns></returns>
 public ActionResult b_ChinhSuaBan()
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         try
         {
             this.resetDuLieu();
             //------Tạo biến nhận request từ session
             string param = xulyChung.nhanThamSoTrongSession();
             if (param.Length > 0)
             {
                 int             maBan  = xulyDuLieu.doiChuoiSangInteger(param);
                 qlCaPheEntities db     = new qlCaPheEntities();
                 BanChoNgoi      banSua = db.BanChoNgois.SingleOrDefault(b => b.maBan == maBan);
                 if (banSua != null)
                 {
                     this.doDuLieuLenView(banSua, db);
                     xulyChung.ghiNhatKyDtb(1, "Chỉnh sửa bàn \" " + xulyDuLieu.traVeKyTuGoc(banSua.tenBan) + " \"");
                 }
                 else
                 {
                     throw new Exception("Bàn có mã '" + maBan.ToString() + "' không tồn tại để thực hiện cập nhật");
                 }
             }
             else
             {
                 throw new Exception("không được nhận tham số");
             }
         }
         catch (Exception ex)
         {
             xulyFile.ghiLoi("Class: BanController - Function: b_ChinhSuaBan_Get", ex.Message);
             return(RedirectToAction("PageNotFound", "Home"));
         }
     }
     return(View());
 }