Beispiel #1
0
    public int themMoiTonKho(string tenDangNhap)
    {
        int kq = 0;

        try
        {
            qlCaPheEntities db     = new qlCaPheEntities();
            TonKho          tonKho = new TonKho();
            tonKho.ngayKiem  = DateTime.Now;
            tonKho.tongTien  = 0;
            tonKho.nguoiKiem = tenDangNhap;
            tonKho.ghiChu    = "";
            db.TonKhoes.Add(tonKho);
            int kqLuu = db.SaveChanges();
            if (kqLuu > 0)
            {
                kq = tonKho.maSoKy;
            }
        }
        catch (Exception ex)
        {
            xulyFile.ghiLoi("Class: bKiemKho  - Function: themMoiTonKho", ex.Message);
        }
        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");
        }
        /// <summary>
        /// Hàm tạo giao diện trang cấu hình
        /// </summary>
        /// <returns>Object chứa thuộc tính cấu hình</returns>
        public ActionResult ThongTinLienHe()
        {
            cauHinh ch = new cauHinh();

            try
            {
                ch = new qlCaPheEntities().cauHinhs.First();
                if (ch != null)
                {
                    //-----Gán dữ liệu vị trí quán cho bản đồ
                    string data = "\"Id\": 1, \"tenQuan\": \"" + xulyDuLieu.traVeKyTuGoc(ch.tenQuan) + "\", \"diaChi\": \"" + xulyDuLieu.traVeKyTuGoc(ch.diaChi) + "\", \"sdt\": \"" + xulyDuLieu.traVeKyTuGoc(ch.hotLine) +
                                  "\", \"GeoLong\": \"" + xulyDuLieu.traVeKyTuGoc(ch.kinhDo) + "\", \"GeoLat\": \"" + xulyDuLieu.traVeKyTuGoc(ch.viDo) + "\"";
                    //-----Thêm div chi tiết vị trí khi nhấn vào marker trên bản đồ
                    string content = "content: \"<div class='infoDiv'><h2>\" + item.tenQuan + \"</h2>\" + \"<div><h4>Địa chỉ: \" + item.diaChi + \"</h4><h4>Điện thoại: \" + item.sdt + \"</h4></div></div>\"\n";
                    //-----Nhúng script chứa API key bản đồ
                    ViewBag.ScriptAPI = createScriptAjax.taoScriptGoogleMapAPIKey();
                    //-----Nhúng script bản đồ vào giao diện
                    ViewBag.ScriptMap = createScriptAjax.taoScriptNhungBanDo(xulyDuLieu.traVeKyTuGoc(ch.kinhDo), xulyDuLieu.traVeKyTuGoc(ch.viDo), data, content);

                    return(View(ch));
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: PublicPageController - Function: DanhSachBaiViet", ex.Message);
                return(RedirectToAction("ServerError", "Home"));
            }
            return(RedirectToAction("PageNotFound"));
        }
Beispiel #4
0
        /// <summary>
        /// Hàm CẬP NHẬT LẠI BÀN CHO HÓA ĐƠN TẠM <para />
        /// KHI ĐỔI BÀN
        /// </summary>
        /// <param name="db">Object thực thi entities</param>
        /// <param name="hoaDonCu">Object chứa các giá trị của hóa đơn cũ</param>
        /// <param name="maBanMoi">Mã bàn mới cần cập nhật sang</param>
        /// <returns></returns>
        public int capNhatHoaDonTam(qlCaPheEntities db, hoaDonTam hoaDonCu, int maBanMoi)
        {
            int kq = 0;

            try
            {
                //thiết lập lại các thuộc tính của bàn mới
                hoaDonTam hoaDonMoi = new hoaDonTam();
                hoaDonMoi.ghiChu          = hoaDonCu.ghiChu;
                hoaDonMoi.ngayLap         = hoaDonCu.ngayLap;
                hoaDonMoi.nguoiPhucVu     = hoaDonCu.nguoiPhucVu;
                hoaDonMoi.thoiDiemDen     = hoaDonCu.thoiDiemDen;
                hoaDonMoi.tongTien        = hoaDonCu.tongTien;
                hoaDonMoi.trangThaiHoadon = hoaDonCu.trangThaiHoadon;
                hoaDonMoi.trangthaiphucVu = hoaDonCu.trangthaiphucVu;
                hoaDonMoi.maBan           = maBanMoi;
                db.hoaDonTams.Add(hoaDonMoi);
                kq = db.SaveChanges();
                if (kq > 0)
                {
                    this.capNhatChiTietHoaDonCuSangMoi(db, hoaDonCu.ctHoaDonTams.ToList(), maBanMoi);
                    this.xoaHoaDonTam(db, hoaDonCu);
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: bHoaDonTam - Fucntion: capNhatHoaDonTam", ex.Message);
            }
            return(kq);
        }
Beispiel #5
0
 public ActionResult tv_TaoMoiThanhVien(FormCollection f, HttpPostedFileBase fileUpload)
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         string    ndThongBao = ""; int kqLuu = 0;
         thanhVien tv = new thanhVien();
         try
         {
             qlCaPheEntities db = new qlCaPheEntities();
             layDuLieuTuView(tv, f, fileUpload);
             db.thanhViens.Add(tv);
             kqLuu = db.SaveChanges();
             if (kqLuu > 0)
             {
                 ndThongBao = createHTML.taoNoiDungThongBao("Thành viên", xulyDuLieu.traVeKyTuGoc(tv.hoTV + " " + tv.tenTV), "tv_TableThanhVien");
                 this.resetDuLieuTrenView();
                 xulyChung.ghiNhatKyDtb(2, "Thành viên \" " + xulyDuLieu.traVeKyTuGoc(tv.hoTV + " " + tv.tenTV) + " \"");
             }
         }
         catch (Exception ex)
         {
             ndThongBao = ex.Message;
             xulyFile.ghiLoi("Class: ThanhVienController - Function: tv_TaoMoiThanhVien", ex.Message);
             this.doDuLieuLenView(tv);
         }
         ViewBag.ThongBao = createHTML.taoThongBaoLuu(ndThongBao);
     }
     return(View());
 }
Beispiel #6
0
    /// <summary>
    /// Hàm lấy danh sách dữ liệu có trong bảng ctHoaDonTam theo trangThaiPhaChe của các item và gán vào List object srCtHoaDonTam
    /// </summary>
    /// <param name="list">List object cần gán dữ liệu vào</param>
    /// <param name="trangThaiPhaChe">Trạng thái pha chế của sản phẩm cần lấy danh sách <para/> -2: Lấy tất cả sản phẩm có trong hóa đơn - >= -1 Lấy theo trạng thái pha chế</param>
    /// <param name="maBan">Mã bàn, mã hóa đơn tạm cần lấy chi tiết</param>
    private void addListCtHoaDonTam(List <svCtHoaDonTam> list, int trangThaiPhaChe, int maBan)
    {
        List <ctHoaDonTam> listChiTiet = new List <ctHoaDonTam>();

        if (trangThaiPhaChe < -1) //----Nếu lấy tất cả sản phẩm trong chi tiết mà không có điều kiện về trangThaiPhaChe
        {
            listChiTiet = new qlCaPheEntities().ctHoaDonTams.Where(c => c.maBan == maBan).ToList();
        }
        else
        {
            listChiTiet = new qlCaPheEntities().ctHoaDonTams.Where(c => c.maBan == maBan && c.trangThaiPhaChe == trangThaiPhaChe).ToList();
        }
        //-------Lặp qua danh sách chi tiết
        foreach (ctHoaDonTam ct in listChiTiet)
        {
            svCtHoaDonTam itemKQ = new svCtHoaDonTam();
            itemKQ.donGia          = ct.donGia;
            itemKQ.hinhAnh         = ct.sanPham.hinhAnh;
            itemKQ.maBan           = ct.maBan;
            itemKQ.maCtTam         = ct.maCtTam;
            itemKQ.maSP            = ct.maSP;
            itemKQ.soLuong         = ct.soLuong;
            itemKQ.tenSP           = ct.sanPham.tenSanPham;
            itemKQ.trangThaiPhaChe = ct.trangThaiPhaChe;
            list.Add(itemKQ);
        }
    }
Beispiel #7
0
    public List <svBanChoNgoi> layDanhSachBanTheoTrangThai(int maKV, int trangThai)
    {
        List <svBanChoNgoi> kq = new List <svBanChoNgoi>();

        try
        {
            qlCaPheEntities db = new qlCaPheEntities();
            if (trangThai >= 0 && trangThai <= 3)
            {
                //-------Lặp qua danh sách bàn KHÔNG có trong hóa đơn tạm. Với trạng thái BÀN ĐƯỢC PHÉP SỬ DỤNG
                foreach (hoaDonTam hd in db.hoaDonTams.ToList().Where(t => t.trangThaiHoadon == trangThai && t.BanChoNgoi.maKhuVuc == maKV))
                {
                    svBanChoNgoi temp = new svBanChoNgoi();
                    temp.maBan     = hd.BanChoNgoi.maBan;
                    temp.tenBan    = hd.BanChoNgoi.tenBan;
                    temp.ghiChu    = hd.BanChoNgoi.ghiChu;
                    temp.gioiThieu = hd.BanChoNgoi.gioiThieu;
                    temp.hinhAnh   = hd.BanChoNgoi.hinhAnh;
                    temp.maKhuVuc  = hd.BanChoNgoi.maKhuVuc;
                    temp.sucChua   = hd.BanChoNgoi.sucChua;
                    kq.Add(temp);
                }
            }
        }
        catch (Exception ex)
        {
            xulyFile.ghiLoi("Class: bNghiepVuBan - Function: layDanhSachBanTheoTrangThai", ex.Message);
        }
        return(kq);
    }
Beispiel #8
0
        /// <summary>
        /// hàm thực hiện tạo giao diện danh sách đồ uống đang bán
        /// </summary>
        /// <param name="page">Số trang hiện hành</param>
        /// <returns></returns>
        public ActionResult du_TableDoUong(int?page)
        {
            if (xulyChung.duocTruyCap(idOfPage))
            {
                try
                {
                    int trangHienHanh = (page ?? 1);
                    //------Xử lý tham số chứa trạng thái cần lấy danh sách
                    string urlAction = (string)Session["urlAction"];
                    string request   = urlAction.Split('|')[1]; //-------request có dạng: request=trangThai
                    request = request.Replace("request=", "");  //-------request có dạng trangThai
                    int trangThai = xulyDuLieu.doiChuoiSangInteger(request);
                    this.thietLapThongSoChung(trangThai);
                    //--------Lấy dữ liệu theo trạng thái
                    qlCaPheEntities db       = new qlCaPheEntities();
                    int             soPhanTu = db.sanPhams.Where(s => s.trangThai == trangThai).Count();
                    ViewBag.PhanTrang = createHTML.taoPhanTrang(soPhanTu, createHTML.pageSize, trangHienHanh, "/DoUong/du_TableDoUong");                                                                    //------cấu hình phân trang

                    List <sanPham> listSP = db.sanPhams.Where(s => s.trangThai == trangThai).OrderBy(s => s.tenSanPham).Skip((trangHienHanh - 1) * createHTML.pageSize).Take(createHTML.pageSize).ToList(); //-----Lấy danh sách các sản phẩm được phân trang
                    this.createTableDoUong(listSP);
                }
                catch (Exception ex)
                {
                    xulyFile.ghiLoi("Class: DoUongController - Function: du_TableDoUong", ex.Message);
                }
            }
            return(View());
        }
Beispiel #9
0
        /// <summary>
        /// Hàm thực hiện hiển thị hình ảnh của đồ uống trên modal khi người dùng click vào tên đồ uống
        /// </summary>
        /// <param name="maDoUong"></param>
        /// <returns></returns>
        public string hienHinhDoUong(int maDoUong)
        {
            string kq = "";

            try
            {
                sanPham sp = new qlCaPheEntities().sanPhams.SingleOrDefault(s => s.maSanPham == maDoUong);
                if (sp != null)
                {
                    kq += "<div class=\"modal-header\">";
                    kq += "      <button type=\"button\" class=\"close\" data-dismiss=\"modal\">×</button>";
                    kq += "     <h4 class=\"modal-title\" id=\"defaultModalLabel\">" + xulyDuLieu.traVeKyTuGoc(sp.tenSanPham) + "</h4>";
                    kq += "</div>";
                    kq += "<div class=\"modal-body\">";
                    if (sp.hinhAnh != null)
                    {
                        kq += "     <img src=\"" + xulyDuLieu.chuyenByteHinhThanhSrcImage(sp.hinhAnh) + "\" style=\"max-width:100%; height:auto; width:500px;\" />";
                    }
                    kq += "</div>";
                    kq += "<div class=\"modal-footer\">";
                    kq += "     <button type=\"button\" class=\"btn btn-link waves-effect\" data-dismiss=\"modal\">Đóng</button>";
                    kq += "</div>";
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: DoUongController - Function: hienHinhDoUong", ex.Message);
            }
            return(kq);
        }
Beispiel #10
0
        /// <summary>
        /// Hàm gán dữ liệu cho object cttonkho để thêm vào danh sách hiện lên giao diện
        /// </summary>
        /// <param name="itemNhap">ctPhieuNhap để lấy thông tin nguyên liệu, số lượng nhập.</param>
        /// <param name="db"></param>
        /// <param name="soLuongXuat">Tổng số lượng nguyên liệu đã xuất trong kỳ.</param>
        /// <returns></returns>
        private ctTonKho addCtTonKhoToList(ctPhieuNhapKho itemNhap, qlCaPheEntities db, double soLuongXuat)
        {
            int soLuongCuoiKyTruoc = 0;//, maKyTruoc=0;
            //--------Lấy thông tin tồn kho kỳ trước để xác định SỐ LƯỢNG TỒN CUỒI KỲ TRƯỚC
            TonKho tonKhoKyTruoc = db.TonKhoes.OrderByDescending(t => t.maSoKy).FirstOrDefault();

            if (tonKhoKyTruoc != null)
            {
                ctTonKho ctTonTruoc = tonKhoKyTruoc.ctTonKhoes.SingleOrDefault(c => c.TonKho.maSoKy == tonKhoKyTruoc.maSoKy && c.maNguyenLieu == itemNhap.maNguyenLieu);
                if (ctTonTruoc != null)
                {
                    //----------Lấy số lượng tồn kho cuối kỳ trước làm đầu kỳ này. (Số lượng cuối kỳ trước là số lượng thực tế).
                    soLuongCuoiKyTruoc = (int)ctTonTruoc.soLuongThucTe;
                }
            }

            ctTonKho ctTon = new ctTonKho();

            ctTon.maNguyenLieu          = itemNhap.maNguyenLieu;
            ctTon.donGia                = itemNhap.donGiaNhap;
            ctTon.soLuongDauKy          = soLuongCuoiKyTruoc;
            ctTon.soLuongCuoiKyLyThuyet = itemNhap.soLuongNhap - soLuongXuat;
            ctTon.soLuongThucTe         = itemNhap.soLuongNhap - soLuongXuat;
            ctTon.nguyenLieu            = itemNhap.nguyenLieu;
            ctTon.tyLeHaoHut            = 0;
            return(ctTon);
        }
Beispiel #11
0
        /// <summary>
        /// Hàm lấy tổng số lượng của nguyên liệu thực tế đang tồn trong kho.
        /// </summary>
        /// <param name="db"></param>
        /// <param name="maNguyenLieu">Mã nguyên liệu cần kiểm tra tồn kho</param>
        /// <returns></returns>
        public double laySoLuongNguyenLieuTonThucTeTrongKho(int maNguyenLieu, qlCaPheEntities db)
        {
            double soLuongTon = 0;
            //--------Lấy thông tin tồn kho mới nhất.
            TonKho tonKhoNew = db.TonKhoes.OrderByDescending(t => t.maSoKy).FirstOrDefault();

            if (tonKhoNew != null)
            {
                //------Lấy thông tin tồn kho của nguyên liệu
                ctTonKho ctTonKhoThucTe = tonKhoNew.ctTonKhoes.SingleOrDefault(ct => ct.maNguyenLieu == maNguyenLieu);
                if (ctTonKhoThucTe != null)
                {   //---------Lấy số lượng thực tế của nguyên liệu trong kỳ kiểm tra mới nhất.
                    double soLuongThucTe = (double)ctTonKhoThucTe.soLuongThucTe;
                    ////////////------------------3. Lấy danh sách xuất kho từ thời điểm kiểm kê kho đến nay
                    var    listXuat      = db.ctPhieuXuatKhoes.Where(ct => ct.phieuXuatKho.ngayXuat >= tonKhoNew.ngayKiem && ct.phieuXuatKho.ngayXuat <= DateTime.Now && ct.maNguyenLieu == maNguyenLieu).GroupBy(ct => ct.maNguyenLieu);
                    double soLuongDaXuat = 0;
                    //--------Lặp qua danh sách nguyên liệu đã xuất để tính tồn kho
                    foreach (var listXuatItem in listXuat)
                    {
                        foreach (var ctXuat in listXuatItem)
                        {
                            soLuongDaXuat += (double)ctXuat.soLuongXuat;
                        }
                    }
                    //-------Tính số lượng tồn kho
                    soLuongTon = soLuongThucTe - soLuongDaXuat;
                }
            }
            return(soLuongTon);
        }
 /// <summary>
 /// Hàm tạo giao diện chỉnh sửa nhóm tài khoản
 /// </summary>
 /// <returns></returns>
 public ActionResult ntk_ChinhSuaNhomTK()
 {
     if (xulyChung.duocTruyCap("201"))
     {
         try
         {
             string urlAction = (string)Session["urlAction"];
             if (urlAction.Length > 0)
             {
                 string thamSo   = urlAction.Split('|')[1];
                 int    maNhomTK = xulyDuLieu.doiChuoiSangInteger(thamSo.Replace("request=", ""));
                 var    nhomTK   = new qlCaPheEntities().nhomTaiKhoans.First(n => n.maNhomTK == maNhomTK);
                 if (nhomTK != null)
                 {
                     this.doDuLieuLenView(nhomTK);
                     xulyChung.ghiNhatKyDtb(1, "Chỉnh sửa nhóm tài khoản \" " + xulyDuLieu.traVeKyTuGoc(nhomTK.tenNhom) + " \"");
                     return(View(nhomTK));
                 }
             }
             else
             {
                 throw new Exception("không nhận được tham số");
             }
         }
         catch (Exception ex)
         {
             xulyFile.ghiLoi("Class: NhomTaiKhoanController - Function: ntk_ChinhSuaNhomTK_Get", ex.Message);
         }
     }
     return(RedirectToAction("goTo404PageNotFound", "Home"));
 }
 /// <summary>
 /// Hàm thực hiện tạo giao diện danh sách nhóm tài khoản
 /// </summary>
 /// <returns></returns>
 public ActionResult ntk_TableNhomTK()
 {
     try
     {
         if (xulyChung.duocTruyCap("201"))
         {
             var    nhomTK    = new qlCaPheEntities().nhomTaiKhoans.ToList();
             string htmlTable = "";
             foreach (nhomTaiKhoan n in nhomTK)
             {
                 htmlTable += "<tr role=\"row\" class=\"odd\">";
                 htmlTable += "      <td>";
                 htmlTable += xulyDuLieu.traVeKyTuGoc(n.tenNhom);
                 htmlTable += "      </td>";
                 htmlTable += "      <td>" + xulyDuLieu.traVeKyTuGoc(n.dienGiai) + "</td>";
                 htmlTable += "      <td>" + xulyDuLieu.traVeKyTuGoc(n.trangMacDinh) + "</td>";
                 htmlTable += "      <td>";
                 htmlTable += "          <a  task=\"" + xulyChung.taoUrlCoTruyenThamSo("/NhomTaiKhoan/ntk_ChinhSuaNhomTK", n.maNhomTK.ToString()) + "\" class=\"guiRequest btn btn-primary\"><i class=\"material-icons\">mode_edit</i>Chỉnh sửa</a>";
                 htmlTable += "      </td>";
                 htmlTable += "</tr>";
             }
             ViewBag.TableData  = htmlTable;
             ViewBag.ModalXoa   = createHTML.taoCanhBaoXoa("Nhóm tài khoản");
             ViewBag.ScriptAjax = createScriptAjax.scriptAjaxXoaDoiTuong("NhomTaiKhoan/ntk_XoaNhomTaiKhoan?maNhom=");
             xulyChung.ghiNhatKyDtb(1, "Danh mục nhóm tài khoản");
             return(View(nhomTK));
         }
     }
     catch (Exception ex)
     {
         xulyFile.ghiLoi("Class: NhomTaiKhoanController - Function: ntk_TableNhomTK", ex.Message);
     }
     return(View());
 }
 public ActionResult ntk_ChinhSuaNhomTK(FormCollection f)
 {
     if (xulyChung.duocCapNhat("201", "7"))
     {
         string       ndThongBao = ""; int kqLuu = 0;
         nhomTaiKhoan nhomSua = new nhomTaiKhoan();
         try
         {
             qlCaPheEntities db     = new qlCaPheEntities();
             int             maNhom = xulyDuLieu.doiChuoiSangInteger(f["txtMaNhom"]);
             nhomSua = db.nhomTaiKhoans.Single(n => n.maNhomTK == maNhom);
             this.layDuLieuTuView(nhomSua, f);
             db.Entry(nhomSua).State = EntityState.Modified;
             kqLuu = db.SaveChanges();
             if (kqLuu > 0)
             {
                 xulyChung.ghiNhatKyDtb(4, "Nhóm tài khoản \" " + xulyDuLieu.traVeKyTuGoc(nhomSua.tenNhom) + " \"");
                 return(RedirectToAction("ntk_TableNhomTK"));
             }
         }
         catch (Exception ex)
         {
             ndThongBao = ex.Message;
             xulyFile.ghiLoi("Class: NhomTaiKhoanController - Function: ntk_ChinhSuaNhomTK_Post", ex.Message);
             this.doDuLieuLenView(nhomSua);
         }
         ViewBag.ThongBao = createHTML.taoThongBaoLuu(ndThongBao);
     }
     return(View());
 }
Beispiel #15
0
    public int resetBan(int maBan)
    {
        int kq = 0;

        try
        {
            qlCaPheEntities db        = new qlCaPheEntities();
            hoaDonTam       hoaDonXoa = db.hoaDonTams.SingleOrDefault(h => h.maBan == maBan);
            if (hoaDonXoa != null)
            {
                //-----Nếu trạng thái VỪA TIẾP NHẬN hoặc ĐÃ THANH TOÁN thì mới cho xóa
                if (hoaDonXoa.trangThaiHoadon == 0 || hoaDonXoa.trangThaiHoadon == 3)
                {
                    //------thực hiện xóa dữ liệu trong bảng ctHoaDonTam
                    foreach (ctHoaDonTam ctXoa in db.ctHoaDonTams.ToList().Where(c => c.maBan == hoaDonXoa.maBan))
                    {
                        //-----Xóa chi tiết
                        db.ctHoaDonTams.Remove(ctXoa);
                        db.SaveChanges();
                    }
                    //-----Xóa hoaDonTam
                    db.hoaDonTams.Remove(hoaDonXoa);
                    kq = db.SaveChanges();
                }
            }
        }
        catch (Exception ex)
        {
            xulyFile.ghiLoi("Class: bNghiepVuBan - Fucntion: resetBan", ex.Message);
        }
        return(kq);
    }
Beispiel #16
0
        /// <summary>
        /// Hàm thực hiện lấy thông tin đồ uống nhúng vào trang tạo công thức khi người dùng chọn một đồ uống trong danh sách.
        /// </summary>
        /// <param name="maDoUong"></param>
        /// <returns></returns>
        public string getInfoDoUongForCreateCongThuc(int maDoUong)
        {
            string kq = "";

            try
            {
                sanPham sp = new qlCaPheEntities().sanPhams.SingleOrDefault(s => s.maSanPham == maDoUong);
                if (sp != null)
                {
                    kq += "<img id=\"hinhDoUong\" class='img img-responsive img-thumbnail'";
                    kq += "src=\"" + xulyDuLieu.chuyenByteHinhThanhSrcImage(sp.hinhAnh) + "\" width=\"250px\" height=\"auto\" />";
                    kq += "<p class=\"font-bold col-pink\">Tên sản phẩm: " + xulyDuLieu.traVeKyTuGoc(sp.tenSanPham) + "</p>";
                    kq += "<p class=\"font-bold col-blue\">Đơn giá: " + sp.donGia.ToString() + "</p>";
                }
                else
                {
                    throw new Exception("Sản phẩm có mã " + maDoUong.ToString() + " không tồn tại để lấy thông tin");
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: DoUongController - Function: getInfoThanhVienForCreateCongThuc", ex.Message);
            }
            return(kq);
        }
Beispiel #17
0
    /// <summary>
    /// Hàm thực hiện chuyển toàn bộ dữ liệu của bảng hoaDonTam từ cũ sang mới
    /// Thực hiện tạo mới hoaDonTam mới và xóa hoaDonTam cũ
    /// </summary>
    /// <param name="maBanMoi">Mã bàn mới dành cho hoaDonTam mới</param>
    /// <param name="hdCu">Object chứa hoaDonTam cũ cần chuyển sang</param>
    /// <param name="hdMoi">Object chứa dữ liệu từ bảng cũ chuyển sang</param>
    /// <param name="db"></param>
    /// <returns>2: Thành công</returns>
    private int themHoaDonChuyenDoi(int maBanMoi, hoaDonTam hdCu, hoaDonTam hdMoi, qlCaPheEntities db)
    {
        int kq = 0;

        hdMoi.ghiChu          = hdCu.ghiChu;
        hdMoi.ngayLap         = hdCu.ngayLap;
        hdMoi.nguoiPhucVu     = hdCu.nguoiPhucVu;
        hdMoi.thoiDiemDen     = hdCu.thoiDiemDen;
        hdMoi.tongTien        = hdCu.tongTien;
        hdMoi.trangThaiHoadon = hdCu.trangThaiHoadon;
        hdMoi.trangthaiphucVu = hdCu.trangthaiphucVu;
        hdMoi.maBan           = maBanMoi;
        db.hoaDonTams.Add(hdMoi);
        kq = db.SaveChanges();
        if (kq > 0)
        {
            //-----------Thêm mới dữ liệu chi tiết của hoaDonTam cũ sang hoaDonTam mới
            foreach (ctHoaDonTam ctCu in hdCu.ctHoaDonTams.ToList())
            {
                ctHoaDonTam ctMoi = new ctHoaDonTam();
                ctMoi.donGia          = ctCu.donGia;
                ctMoi.maCtTam         = ctCu.maCtTam;
                ctMoi.maSP            = ctCu.maSP;
                ctMoi.soLuong         = ctCu.soLuong;
                ctMoi.trangThaiPhaChe = ctCu.trangThaiPhaChe;
                ctMoi.maBan           = hdMoi.maBan;
                db.ctHoaDonTams.Add(ctMoi);
                kq = db.SaveChanges();
            }
        }
        return(kq);
    }
Beispiel #18
0
 public ActionResult du_TaoMoiDoUong(sanPham sp, FormCollection f)
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         string          ndThongBao = ""; int kqLuu = 0;
         qlCaPheEntities db = new qlCaPheEntities();
         try
         {
             this.layDuLieuTuView(sp, f);
             db.sanPhams.Add(sp);
             kqLuu = db.SaveChanges();
             if (kqLuu > 0)
             {
                 ndThongBao = this.htmlTaoNoiDungThongBaoLuu(sp);
                 new bSanPham().themMoiLichSuGiaVaoDtb(sp.maSanPham, sp.donGia, sp.donGia, "Thêm khi nhập mới sản phẩm", db);
                 this.resetDuLieu();
                 this.taoDuLieuChoCbbTao(db);
                 xulyChung.ghiNhatKyDtb(2, "Sản phẩm \" " + xulyDuLieu.traVeKyTuGoc(sp.tenSanPham) + " \"");
             }
         }
         catch (Exception ex)
         {
             ndThongBao = ex.Message;
             xulyFile.ghiLoi("Class: DoUongController - Function: du_TaoMoiDoUong_Post", ex.Message);
             this.resetDuLieu();
             this.doDuLieuLenView(sp, db);
         }
         ViewBag.ThongBao = createHTML.taoThongBaoLuu(ndThongBao);
     }
     return(View());
 }
Beispiel #19
0
    public List <int> thongKeBanTheoTrangThai()
    {
        List <int> kq = new List <int>();

        try
        {
            qlCaPheEntities db = new qlCaPheEntities();
            //--------Lấy tổng số bàn trống có trong quán
            //-------Lặp qua danh sách bàn KHÔNG có trong hóa đơn tạm. Với trạng thái BÀN ĐƯỢC PHÉP SỬ DỤNG
            int soluongBanTrong = db.BanChoNgois.Where(b => b.trangThai == 1 && !db.hoaDonTams.Any(hd => hd.maBan == b.maBan)).Count();
            kq.Add(soluongBanTrong);
            //------------Lấy tổng số bàn theo các trạng thái phục vụ
            //-------Lặp qua danh sách trạng thái của hóa đơn tạm để lấy số lượng bàn: Chờ order, đã order, chờ thanh toán, đã thanh toán
            for (int i = 0; i <= 3; i++)
            {
                int soLuongBan = db.hoaDonTams.Where(t => t.trangThaiHoadon == i).Count();
                kq.Add(soLuongBan);
            }
        }
        catch (Exception ex)
        {
            xulyFile.ghiLoi("Class: bNghiepVuBan - Function: thongKeBanTheoTrangThai", ex.Message);
        }
        return(kq);
    }
Beispiel #20
0
 /// <summary>
 /// Hàm thực hiện xóa một đồ uống, sản phẩm khỏi csdl
 /// </summary>
 /// <param name="maDoUong"></param>
 public void xoaDoUong(int maDoUong)
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         try
         {
             int             kqLuu = 0;
             qlCaPheEntities db    = new qlCaPheEntities();
             sanPham         spXoa = db.sanPhams.SingleOrDefault(s => s.maSanPham == maDoUong);
             if (spXoa != null)
             {
                 //-------Xóa lịch sử giá của sản phẩm
                 this.xoaLichSuGiaSanPham(db, maDoUong);
                 db.sanPhams.Remove(spXoa);
                 kqLuu = db.SaveChanges();
                 if (kqLuu > 0)
                 {
                     xulyChung.ghiNhatKyDtb(3, "Sản phẩm \"" + xulyDuLieu.traVeKyTuGoc(spXoa.tenSanPham) + " \"");
                 }
             }
             else
             {
                 throw new Exception("Sản phẩm có mã " + maDoUong + " không tồn tại để xóa");
             }
         }
         catch (Exception ex)
         {
             xulyFile.ghiLoi("Class: DoUongController - Function: xoaDoUong", ex.Message);
             RedirectToAction("ServerError", "Home");
         }
     }
 }
Beispiel #21
0
        /// <summary>
        /// Hàm thêm mới 1 hóa đơn tạm vào bảng HoaDonTam trong database
        /// </summary>
        /// <param name="db">Object entities thực thi</param>
        /// <param name="maBan">Mã bàn cần thêm mới vào bảng</param>
        /// <param name="tenDangNhap">Tên đăng nhập người phục vụ (Người thêm)</param>
        /// <returns>1: Thêm thành công, 2: Thất bại</returns>
        public int themMoiHoaDonTam(qlCaPheEntities db, int maBan, string tenDangNhap)
        {
            int kq = 0;

            try
            {
                hoaDonTam hoaDonAdd = new hoaDonTam();
                hoaDonAdd.maBan           = maBan;
                hoaDonAdd.trangThaiHoadon = 0;  //-----Thiết lập trạng thái hóa đơn 0 - VỪA VÀO BÀN
                hoaDonAdd.trangthaiphucVu = -1; //------Thiết lập trạng thái phục vụ - Trước khi nhận order
                hoaDonAdd.thoiDiemDen     = DateTime.Now;
                hoaDonAdd.nguoiPhucVu     = tenDangNhap;
                db.hoaDonTams.Add(hoaDonAdd);
                kq = db.SaveChanges();
                if (kq > 0)
                {
                    xulyChung.ghiNhatKyDtb(2, "Đã tiếp nhận bàn");
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: bHoaDonTam - Fucntion: themMoiHoaDonTam", ex.Message);
            }
            return(kq);
        }
Beispiel #22
0
        /// <summary>
        /// Hàm thực hiện đổ dữ liệu của sản phẩm lên giao diện chỉnh sửa
        /// </summary>
        /// <param name="maDoUong"></param>
        /// <param name="db"></param>
        private void doDuLieuLenView(sanPham sp, qlCaPheEntities db)
        {
            ViewBag.txtMaDoUong = sp.maSanPham.ToString();
            //Hiển thị combobox loại
            string htmlCbb = "";

            foreach (loaiSanPham loai in db.loaiSanPhams.ToList())
            {
                if (loai.maLoai == sp.maLoai) //-----Thiết lập thuộc tính select cho loại của sản phẩm.
                {
                    htmlCbb += "<option selected value=\"" + loai.maLoai.ToString() + "\">" + xulyDuLieu.traVeKyTuGoc(loai.tenLoai) + "</option>";
                }
                else
                {
                    htmlCbb += "<option value=\"" + loai.maLoai.ToString() + "\">" + xulyDuLieu.traVeKyTuGoc(loai.tenLoai) + "</option>";
                }
            }
            ViewBag.cbbLoai      = htmlCbb;
            ViewBag.txtTenDoUong = xulyDuLieu.traVeKyTuGoc(sp.tenSanPham);
            ViewBag.txtDonGia    = sp.donGia.ToString();
            ViewBag.txtMoTa      = xulyDuLieu.traVeKyTuGoc(sp.moTa);
            ViewBag.txtThoiGian  = sp.thoiGianPhaChe.ToString();
            ViewBag.txtGhiChu    = xulyDuLieu.traVeKyTuGoc(sp.ghiChu);
            //Hiển thị hình ảnh
            if (sp.hinhAnh != null)
            {
                ViewBag.hinhDD = xulyDuLieu.chuyenByteHinhThanhSrcImage(sp.hinhAnh);
            }

            ViewBag.TaskCongThuc = xulyChung.taoUrlCoTruyenThamSo("/CongThuc/ct_TableCongThuc", sp.maSanPham.ToString());
        }
Beispiel #23
0
 public ActionResult tv_ChinhSuaThanhVien(FormCollection f, HttpPostedFileBase fileUpload)
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         thanhVien thanhVienSua = new thanhVien(); int kqLuu = 0;
         try
         {
             int             maTV = Int32.Parse(f["txtMaTV"]);
             qlCaPheEntities db   = new qlCaPheEntities();
             thanhVienSua = db.thanhViens.SingleOrDefault(tv => tv.maTV == maTV);
             if (thanhVienSua != null)
             {
                 this.layDuLieuTuView(thanhVienSua, f, fileUpload);
                 db.Entry(thanhVienSua).State = EntityState.Modified;
                 kqLuu = db.SaveChanges();
                 if (kqLuu > 0)
                 {
                     this.resetDuLieuTrenView();
                     xulyChung.ghiNhatKyDtb(4, "Thành viên \" " + xulyDuLieu.traVeKyTuGoc(thanhVienSua.hoTV + " " + thanhVienSua.tenTV) + " \"");
                     return(RedirectToAction("tv_TableThanhVien"));
                 }
             }
         }
         catch (Exception ex)
         {
             ViewBag.ThongBao = createHTML.taoThongBaoLuu(ex.Message);
             xulyFile.ghiLoi("Class: ThanhVienController - Function: tv_TaoMoiThanhVien", ex.Message);
             this.doDuLieuLenView(thanhVienSua);
         }
     }
     return(View());
 }
Beispiel #24
0
    public int capNhatDaOrder(int maBan, long tongTien, string ghiChu)
    {
        int kq = -1;

        try {
            qlCaPheEntities db        = new qlCaPheEntities();
            hoaDonTam       hoaDonSua = db.hoaDonTams.SingleOrDefault(s => s.maBan == maBan);
            if (hoaDonSua != null)
            {
                hoaDonSua.trangThaiHoadon = 1;            //--------Cập nhật trạng thái hóa đơn bàn đã order
                hoaDonSua.ngayLap         = DateTime.Now; //-----Cập nhật ngày lập hóa đơn
                hoaDonSua.trangthaiphucVu = 0;            //---------cập nhật trạng thái pha chế - CHỜ TIẾP NHẬN - Để hiện trong danh sách tiếp nhận pha chế
                hoaDonSua.tongTien        = tongTien;
                hoaDonSua.ghiChu          = xulyDuLieu.xulyKyTuHTML(ghiChu);
                db.Entry(hoaDonSua).State = System.Data.Entity.EntityState.Modified;
                kq = db.SaveChanges();
                if (kq > 0)
                {
                    //----------Xóa tất cả chi tiết trong hóa đơn
                    foreach (ctHoaDonTam ctXoa in hoaDonSua.ctHoaDonTams.ToList())
                    {
                        db.ctHoaDonTams.Remove(ctXoa);
                        db.SaveChanges();
                    }
                }
            }
        }
        catch (Exception ex)
        {
            xulyFile.ghiLoi("Class: bNghiepVuBan - Function: capNhatDaOrder", ex.Message);
        }
        return(kq);
    }
        /// <summary>
        /// Hàm lấy danh sách sản phẩm theo loại
        /// </summary>
        /// <param name="id">Mã loại cần lấy</param>
        /// <param name="page">Tham số trang hiện hành</param>
        /// <returns></returns>
        public ActionResult SanPhamTheoLoai(int?id, int?page)
        {
            List <sanPham> listSanPham = new List <sanPham>(); int pageSize = 8;

            try
            {
                int             trangHienHanh = (page ?? 1);
                qlCaPheEntities db            = new qlCaPheEntities();
                int             soPhanTu      = db.sanPhams.Where(s => s.trangThai == 1 && s.maLoai == id).Count();
                if (soPhanTu > 0)
                {
                    ViewBag.PhanTrang   = createHTML.taoPhanTrang(soPhanTu, pageSize, trangHienHanh, "/loai-san-pham"); //------cấu hình phân trang
                    listSanPham         = db.sanPhams.Where(s => s.trangThai == 1 && s.maLoai == id).OrderBy(c => c.tenSanPham).Skip((trangHienHanh - 1) * pageSize).Take(pageSize).ToList();
                    ViewBag.ListSanPham = taoDanhSachSanPham(listSanPham);
                    ViewBag.ListBaiViet = taoDanhSachBaiVietTrenDanhMucSanPham(db);
                }
                else
                {
                    return(RedirectToAction("PageNotFound"));
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: PublicPageController - Function: DanhSachSanPham", ex.Message);
                Response.Redirect(xulyChung.layTenMien() + "Home/ServerError");
            }
            return(View());
        }
Beispiel #26
0
    public List <svBanChoNgoi> layDanhSachBanTrong(int maKV)
    {
        List <svBanChoNgoi> kq = new List <svBanChoNgoi>();

        try
        {
            qlCaPheEntities db = new qlCaPheEntities();
            //-------Lặp qua danh sách bàn KHÔNG có trong hóa đơn tạm. Với trạng thái BÀN ĐƯỢC PHÉP SỬ DỤNG
            foreach (BanChoNgoi b in db.BanChoNgois.Where(b => b.maKhuVuc == maKV && b.trangThai == 1 && !db.hoaDonTams.Any(hd => hd.maBan == b.maBan)))
            {
                svBanChoNgoi temp = new svBanChoNgoi();
                temp.trangThai = (int)b.trangThai;
                temp.maBan     = b.maBan;
                temp.tenBan    = b.tenBan;
                temp.ghiChu    = b.ghiChu;
                temp.gioiThieu = b.gioiThieu;
                temp.hinhAnh   = b.hinhAnh;
                temp.maKhuVuc  = b.maKhuVuc;
                temp.sucChua   = b.sucChua;
                kq.Add(temp);
            }
        }
        catch (Exception ex)
        {
            xulyFile.ghiLoi("Class: bNghiepVuBan - Function: layDanhSachBanTrong", ex.Message);
        }
        return(kq);
    }
        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));
        }
Beispiel #28
0
    public int tiepNhanThanhToan(int maBan)
    {
        int kq = 0;

        try
        {
            qlCaPheEntities db    = new qlCaPheEntities();
            hoaDonTam       hdSua = db.hoaDonTams.SingleOrDefault(b => b.maBan == maBan);
            if (hdSua != null)
            {
                //------Xét trạng thái hóa đơn ĐÃ ORDER thì mới được phép cập nhật
                if (hdSua.trangThaiHoadon == 1)
                {
                    hdSua.trangThaiHoadon = 2;//--Cập nhật trạng thái hóa đơn thành đang chờ thanh toán - Để hiển thị trong danh sách hóa đơn chờ thanh toán.
                    db.Entry(hdSua).State = System.Data.Entity.EntityState.Modified;
                    kq = db.SaveChanges();
                }
            }
        }
        catch (Exception ex)
        {
            xulyFile.ghiLoi("Class: bNghiepVuBan - Fucntion: tiepNhanThanhToan", ex.Message);
        }
        return(kq);
    }
        /// <summary>
        /// Hàm tạo giao diện vùng các nguyên liệu bán chạy
        /// Lấy 4 sản phẩm bán chạy nhất
        /// </summary>
        /// <returns>List nguyên liệu bán chạy (Có nhiều trong ctHoaDonOrder)</returns>
        public ActionResult PartHome_SanPhamNoiTroi()
        {
            List <sanPham> listSanPham = new List <sanPham>();

            try
            {
                qlCaPheEntities db = new qlCaPheEntities();
                //----Khởi tạo biến chứa danh sách object Mã sản phẩm bán chạy và số lần bán
                var listSellest = db.ctHoaDonOrders.GroupBy(c => c.maSanPham).Select(c => new { maSP = c.Key, count = c.Count() }).OrderByDescending(c => c.count).Take(4).ToList(); //---Lấy 4 sản phẩm bán chạy 1
                for (int i = 0; i < listSellest.Count; i++)
                {
                    //-----Lấy giá trị là mã sản phẩm có trong listSellest
                    var itemSellest = listSellest[i];
                    int maSP        = xulyDuLieu.doiChuoiSangInteger(xulyDuLieu.layThuocTinhTrongMotObject(itemSellest, "maSP"));

                    //------Lấy thông tin sản phẩm và gán vào listSanPham
                    sanPham spSellest = db.sanPhams.SingleOrDefault(s => s.maSanPham == maSP);
                    if (spSellest != null)
                    {
                        listSanPham.Add(spSellest);
                    }
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class: PublicPageController - Function: PartHome_SanPhamNoiTroi", ex.Message);
                Response.Redirect(xulyChung.layTenMien() + "Home/ServerError");
            }
            return(PartialView(listSanPham));
        }
Beispiel #30
0
    public List <svThongBao> getListThongBaoKiemKho()
    {
        List <svThongBao> kq = new List <svThongBao>();

        try
        {
            cauHinh ch = new qlCaPheEntities().cauHinhs.First();
            if (ch != null)
            {
                if (DateTime.Now >= ch.batDauKiem && DateTime.Now <= ch.ketThucKiem)
                {
                    svThongBao itemKQ = new svThongBao();
                    itemKQ.daXem      = false;
                    itemKQ.ghiChu     = "Thông báo kiểm kho";
                    itemKQ.maThongBao = 1;
                    itemKQ.ndThongBao = "Đến đợt kiểm kê kho hàng " + ch.batDauKiem.ToString() + " - " + ch.ketThucKiem.ToString();
                    kq.Add(itemKQ);
                }
            }
        }
        catch (Exception ex)
        {
            xulyFile.ghiLoi("Class: bKiemKho - Function: getListThongBaoKiemKho", ex.Message);
        }
        return(kq);
    }