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")); }
/// <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); }
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()); }
/// <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); } }
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); }
/// <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()); }
/// <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); }
/// <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); }
/// <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()); }
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); }
/// <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); }
/// <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); }
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()); }
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); }
/// <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"); } } }
/// <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); }
/// <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()); }
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()); }
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()); }
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)); }
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)); }
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); }