//------------------Cập nhật trạng thái sang 1----------------
 /// <summary>
 /// Hám thực hiện thêm dữ liệu vào bảng chi tiết hóa đơn trong database <para/>
 /// Khi hoàn tất order
 /// </summary>
 /// <param name="param">Chuỗi chứa mã bàn cần cập nhật và ghi chú <para/> VD: 12|GhiChu</param>
 /// <returns></returns>
 public void AjaxThemChiTietHoaDon(string param)
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         try
         {
             cartHoaDonTam cart = (cartHoaDonTam)Session["hoaDonTam"];
             if (cart.Item.Count > 0)//Kiểm tra xem có sản phẩm trên session. Nếu có mới cho thêm
             {
                 int          kqLuu     = 0;
                 int          maBan     = xulyDuLieu.doiChuoiSangInteger(param.Split('|')[0]);
                 bNghiepVuBan bNghiepVu = new bNghiepVuBan();
                 //--------cập nhật trạng thái hóa đơn tạm sang đã order
                 long tongTien = cart.tongTienDtb + cart.getTotalAmount();
                 kqLuu = bNghiepVu.capNhatDaOrder(maBan, tongTien, xulyDuLieu.xulyKyTuHTML(param.Split('|')[1]));
                 if (kqLuu > -1) //----Nhận order thành công
                 {
                     int soLuongItem = cart.getList().Count;
                     foreach (ctHoaDonTam ctSession in cart.getList())
                     {
                         //---KqLuu tăng lên sau mỗi lần cập nhật thành công
                         kqLuu += bNghiepVu.themChiTietHoaDonTam(maBan, ctSession.maSP, ctSession.donGia, ctSession.soLuong, ctSession.trangThaiPhaChe);
                     }
                     //----Nếu kqLuu lớn hơn số lần thêm chi tiết thành công và số lần cập nhật trạng thái
                     if (kqLuu > soLuongItem)
                     {
                         this.resetData();//Xóa tất cả dữ liệu trong session
                         xulyChung.ghiNhatKyDtb(2, "Nhận đặt hàng tại bàn");
                     }
                 }
             }
         }
         catch (Exception ex)
         {
             xulyFile.ghiLoi("Class: NghiepVuBanController - Function: AjaxThemChiTietHoaDon", ex.Message);
         }
     }
 }
Пример #2
0
        /// <summary>
        /// Hàm tạo vùng giao diện thống kê số lượng bàn theo trạng thái: <para/>
        /// Bàn trống, bàn chờ order, bàn đã order, bàn chờ thanh toán, bàn đã thanh toán
        /// </summary>
        /// <returns></returns>
        public ActionResult tools_PartThongKeSoLuongBan()
        {
            SoLuongBan soLuong = new SoLuongBan();

            if (xulyChung.duocTruyCapKhongChuyenTiep(idOfpage))
            {
                try
                {
                    List <int> listSoLuong = new bNghiepVuBan().thongKeBanTheoTrangThai();
                    int        index       = 1; //------Biến lưu lại vị trí đang duyệt trong listSoLUong để gán vào thuộc tính của soLUongBan
                    foreach (int giaTriSoLuong in listSoLuong)
                    {
                        switch (index)
                        {
                        case 1: soLuong.trong = giaTriSoLuong; break;

                        case 2: soLuong.choOrder = giaTriSoLuong; break;

                        case 3: soLuong.daOrder = giaTriSoLuong; break;

                        case 4: soLuong.choThanhToan = giaTriSoLuong; break;

                        case 5: soLuong.daThanhToan = giaTriSoLuong; break;
                        }
                        index++;
                    }
                    //-----Lấy tổng số bàn còn hoạt động
                    soLuong.tongCongBan = listSoLuong.Sum();
                }
                catch (Exception ex)
                {
                    xulyFile.ghiLoi("Class: Tools_VungLamViecController - Function: tools_PartThongKeSoLuongBan", ex.Message);
                }
            }
            return(PartialView(soLuong));
        }