Пример #1
0
        /// <summary>
        /// hàm thực hiện đổ dữ liệu của nguyên liệu lên giao diện
        /// <param name="nl">Đối tượng nguyên liệu cần đổ lên giao diện</param>
        /// <param name="db">Class kết nối để lấy danh sách loại nguyên liệu cho combobox</param>
        /// </summary>
        private void doDuLieuLenView(nguyenLieu nl, qlCaPheEntities db)
        {
            string htmlCbb = "";

            ViewBag.txtMaNguyenLieu = nl.maNguyenLieu.ToString();
            //------Đổ danh sách loại nguyên liệu lên Combobox
            foreach (loaiNguyenLieu loai in db.loaiNguyenLieux.ToList())
            {
                if (loai.maLoai == nl.maLoai)
                {
                    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.txtTenNguyenLieu = xulyDuLieu.traVeKyTuGoc(nl.tenNguyenLieu);
            ViewBag.txtMoTa          = xulyDuLieu.traVeKyTuGoc(nl.moTa);
            ViewBag.txtThoiHan       = nl.thoiHanSuDung.ToString();
            ViewBag.txtDonViHienThi  = xulyDuLieu.traVeKyTuGoc(nl.donViHienThi);
            ViewBag.txtDonViPhaChe   = xulyDuLieu.traVeKyTuGoc(nl.donViPhaChe);
            ViewBag.txtTyLeChuyenDoi = nl.tyLeChuyenDoi.ToString();
            ViewBag.txtGhiChu        = xulyDuLieu.traVeKyTuGoc(nl.ghiChu);

            if (nl.hinhAnh != null)
            {
                ViewBag.hinhDD = xulyDuLieu.chuyenByteHinhThanhSrcImage(nl.hinhAnh);
            }
        }
Пример #2
0
 /// <summary>
 /// Hàm thực hiện xóa 1 nguyên liệu khỏi CSDL
 /// </summary>
 /// <param name="maNguyenLieu"></param>
 public void xoaNguyenLieu(int maNguyenLieu)
 {
     try
     {
         int             kqLuu = 0;
         qlCaPheEntities db    = new qlCaPheEntities();
         nguyenLieu      nlXoa = db.nguyenLieux.Single(nl => nl.maNguyenLieu == maNguyenLieu);
         if (nlXoa != null)
         {
             db.nguyenLieux.Remove(nlXoa);
             kqLuu = db.SaveChanges();
             if (kqLuu > 0)
             {
                 xulyChung.ghiNhatKyDtb(3, "Nguyên liệu \"" + xulyDuLieu.traVeKyTuGoc(nlXoa.tenNguyenLieu) + " \"");
             }
         }
         else
         {
             throw new Exception("Nguyên liệu có mã " + maNguyenLieu + " không tồn tại để xóa bỏ");
         }
     }
     catch (Exception ex)
     {
         xulyFile.ghiLoi("Class: NguyenLieuController - Function: xoaLoaiNguyenLieu", ex.Message);
         Response.Redirect(xulyChung.layTenMien() + "/Home/PageNotFound");
     }
 }
Пример #3
0
 public ActionResult nl_TaoMoiNguyenLieu(nguyenLieu nl, FormCollection f)
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         string          ndThongBao = ""; int kqLuu = 0;
         qlCaPheEntities db = new qlCaPheEntities();
         try
         {
             this.layDuLieuTuView(nl, f);
             nl.trangThai = true;
             db.nguyenLieux.Add(nl);
             kqLuu = db.SaveChanges();
             if (kqLuu > 0)
             {
                 ndThongBao = createHTML.taoNoiDungThongBao("Nguyên liệu", xulyDuLieu.traVeKyTuGoc(nl.tenNguyenLieu), "nl_TableNguyenLieu");
                 this.resetDuLieu();
                 xulyChung.ghiNhatKyDtb(2, "Nguyên liệu \" " + xulyDuLieu.traVeKyTuGoc(nl.tenNguyenLieu) + " \"");
             }
         }
         catch (Exception ex)
         {
             ndThongBao = ex.Message;
             xulyFile.ghiLoi("Class: NguyenLieuController - Function: nl_TaoMoiNguyenLieu_Post", ex.Message);
             ////-----Hiện lại dữ liệu trên giao diện
             this.resetDuLieu();
             this.doDuLieuLenView(nl, db);
         }
         this.taoDuLieuChoCbb(db);
         ViewBag.ThongBao = createHTML.taoThongBaoLuu(ndThongBao);
     }
     return(View());
 }
        /// <summary>
        /// Hàm thiết kế bảng DANH SÁCH CHI TIẾT, NGUYÊN LIỆU SỬ DỤNG, TỔNG TIỀN NGUYÊN LIỆU được lấy từ Session
        /// </summary>
        /// <returns>htmlBangChiTiet|htmlBangNguyenLieuSuDung</returns>
        public string taoBangChiTietVaNguyenLieuSuDungTuSession()
        {
            cartCongThuc cart = (cartCongThuc)Session["congThuc"];
            string       kq   = "";

            kq += "<table class=\"table table-hover\">";
            kq += "     <thead>";
            kq += "         <tr>";//------Tạo tiêu đề bảng
            kq += "             <th>Bước</th><th>Hành động</th><th>Tên nguyên liệu</th><th>Số lượng</th><th>Đơn vị</th><td>Chức năng</td>";
            kq += "         </tr>";
            kq += "     </thead>";
            kq += "     <tbody>";
            try
            {
                foreach (ctCongThuc ct in cart.getList().OrderBy(c => c.buocSo))
                {
                    kq += "     <tr>";
                    kq += "         <th scope=\"row\">" + ct.buocSo.ToString() + "</th>";
                    kq += "         <td>" + xulyDuLieu.traVeKyTuGoc(ct.hanhDong) + "</td>";
                    //---------Lấy tên nguyên liệu đã chọn
                    nguyenLieu nl = ct.nguyenLieu;
                    if (nl != null)
                    {
                        kq += "     <td>" + xulyDuLieu.traVeKyTuGoc(nl.tenNguyenLieu) + "</td>";
                    }
                    else
                    {
                        kq += "     <td></td>";
                    }
                    kq += "         <td>" + ct.soLuongNguyenLieu + "</td>";
                    kq += "         <td>" + xulyDuLieu.traVeKyTuGoc(ct.donViSuDung) + "</td>";
                    kq += "         <td>";
                    kq += "             <div class=\"btn-group open\">";
                    kq += "                 <button type=\"button\" class=\"btn btn-primary dropdown-toggle\" data-toggle=\"dropdown\" aria-expanded=\"true\">Chức năng <span class=\"caret\"></span></button>";
                    kq += "                 <ul class=\"dropdown-menu\" role=\"menu\">";
                    kq += "                     <li><a class=\"col-blue waves-effect waves-block suaBuoc\" maCt=\"" + ct.maChiTiet.ToString() + "\">";
                    kq += "                             <i class=\"material-icons\">mode_edit</i>Sửa bước";
                    kq += "                         </a></li>";
                    kq += "                     <li><a class=\"col-red waves-effect waves-block xoaBuoc\" maCt=\"" + ct.maChiTiet.ToString() + "\">";
                    kq += "                             <i class=\"material-icons\">delete</i>Xoá bước";
                    kq += "                         </a></li>";
                    kq += "                 </ul>";
                    kq += "             </div>";
                    kq += "         </td>";
                    kq += "     </tr>";
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class CongThucController - Function: taoBangChiTietTuSession", ex.Message);
            }
            kq += "     </tbody>";
            kq += "</table>";
            //Trả vê chuỗi htmlBangDanhSachCacBuoc|bảng danh sách nguyên liệu|tongGiaNguyenLieu
            return(kq + "|" + this.taoBangNguyenLieuSuDung() + "|" + xulyDuLieu.doiVND(cart.getTotalPriceNguyenLieu()));
        }
Пример #5
0
 /// <summary>
 /// Hàm thực hiện cập nhật trạng thái của nguyên liệu.
 /// Trạng thái cập nhật sẽ ngược với trạng thái hiện có. Nếu là true thì thành false và ngược lại
 /// </summary>
 /// <param name="maNguyenLieu"></param>
 /// <returns></returns>
 public void capNhatTrangThai()
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         try
         {
             int    kqLuu = 0;
             string param = xulyChung.nhanThamSoTrongSession();
             if (param.Length > 0)
             {
                 int             maNguyenLieu = xulyDuLieu.doiChuoiSangInteger(param);
                 qlCaPheEntities db           = new qlCaPheEntities();
                 nguyenLieu      nlSua        = db.nguyenLieux.SingleOrDefault(nl => nl.maNguyenLieu == maNguyenLieu);
                 if (nlSua != null)
                 {
                     bool trangThaiCu = nlSua.trangThai;   //Lưu lại trạng thái cũ để chuyển đến trang tương ứng
                     nlSua.trangThai       = !trangThaiCu; //Cập nhật trạng thái ngược lại với trạng thái cũ. Nếu true thì thành false và ngược lại
                     db.Entry(nlSua).State = System.Data.Entity.EntityState.Modified;
                     kqLuu = db.SaveChanges();
                     if (kqLuu > 0)
                     {
                         xulyChung.ghiNhatKyDtb(4, "Cập nhật trạng thái nguyên liệu \" " + xulyDuLieu.traVeKyTuGoc(nlSua.tenNguyenLieu) + " \"");
                         if (trangThaiCu == true)//Chuyển đến danh sách sản phẩm đang sử dụng
                         {
                             Response.Redirect(xulyChung.layTenMien() + "/NguyenLieu/nl_TableNguyenLieu");
                         }
                         else
                         {
                             Response.Redirect(xulyChung.layTenMien() + "/NguyenLieu/nl_TableNguyenLieuTamNgung");
                         }
                     }
                 }
                 else
                 {
                     throw new Exception("Nguyên liệu có mã " + maNguyenLieu + " cần cập nhật không tồn tại");
                 }
             }
             else
             {
                 throw new Exception("không nhận được tham số");
             }
         }
         catch (Exception ex)
         {
             xulyFile.ghiLoi("Class: NguyenLieuController - Function: capNhatTrangThai", ex.Message);
             Response.Redirect(xulyChung.layTenMien() + "/Home/ServerError");
         }
     }
 }
Пример #6
0
        /// <summary>
        /// hàm thực hiện lấy dữ liệu từ View gán cho các thuộc tính của nguyenLieu
        /// </summary>
        /// <param name="nl"></param>
        /// <param name="f"></param>
        private void layDuLieuTuView(nguyenLieu nl, FormCollection f)
        {
            string loi = ""; //Biến ghi nhận thông báo lỗi

            nl.tenNguyenLieu = xulyDuLieu.xulyKyTuHTML(f["txtTenNguyenLieu"]);
            if (nl.tenNguyenLieu.Length <= 0)
            {
                loi += "Vui lòng nhập tên nguyên liệu <br/>";
            }
            nl.maLoai = xulyDuLieu.doiChuoiSangInteger(f["cbbLoai"]);
            if (nl.maLoai <= 0)
            {
                loi += "Vui lòng chọn loại nguyên liệu <br/>";
            }
            nl.moTa = xulyDuLieu.xulyKyTuHTML(f["txtMoTa"]);
            if (nl.moTa.Length <= 0)
            {
                loi += "Vui lòng nhập thông tin mô tả nguyên liệu </br>";
            }
            nl.thoiHanSuDung = xulyDuLieu.doiChuoiSangInteger(f["txtThoiHan"]);
            if (nl.thoiHanSuDung <= 0)
            {
                loi += "Thời gian sử dụng phải lớn hơn 0 <br/>";
            }
            nl.donViHienThi  = xulyDuLieu.xulyKyTuHTML(f["txtDonViHienThi"]);
            nl.donViPhaChe   = xulyDuLieu.xulyKyTuHTML(f["txtDonViPhaChe"]);
            nl.tyLeChuyenDoi = xulyDuLieu.doiChuoiSangDouble(f["txtTyLeChuyenDoi"]);
            nl.ghiChu        = xulyDuLieu.xulyKyTuHTML(f["txtGhiChu"]);
            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
                nl.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["txtMaNguyenLieu"] == 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 nguyên liệu<br/>";
            }
            //Nếu có lỗi thì xuất thông báo
            if (loi.Length > 0)
            {
                throw new Exception(loi);
            }
        }
Пример #7
0
 public ActionResult nl_ChinhSuaNguyenLieu(FormCollection f)
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         int        kqLuu = 0;
         nguyenLieu nlSua = new nguyenLieu(); qlCaPheEntities db = new qlCaPheEntities();
         try
         {
             int maNguyenLieu = Convert.ToInt32(f["txtMaNguyenLieu"]);
             nlSua = db.nguyenLieux.SingleOrDefault(n => n.maNguyenLieu == maNguyenLieu);
             if (nlSua != null)
             {
                 this.layDuLieuTuView(nlSua, f);
                 db.Entry(nlSua).State = System.Data.Entity.EntityState.Modified;
                 kqLuu = db.SaveChanges();
                 if (kqLuu > 0)
                 {
                     xulyChung.ghiNhatKyDtb(4, "Nguyên liệu \" " + xulyDuLieu.traVeKyTuGoc(nlSua.tenNguyenLieu) + " \"");
                     this.resetDuLieu();
                     //---Dựa vào trạng thái để chuyển đến trang tương ứng
                     if (nlSua.trangThai)
                     {
                         return(RedirectToAction("nl_TableNguyenLieu"));
                     }
                     else
                     {
                         return(RedirectToAction("nl_TableNguyenLieuTamNgung"));
                     }
                 }
             }
             else
             {
                 throw new Exception("Nguyên liệu cần cập nhật không tồn tại");
             }
         }
         catch (Exception ex)
         {
             ViewBag.ThongBao = createHTML.taoThongBaoLuu(ex.Message);
             xulyFile.ghiLoi("Class: NguyenLieuController - Function: nl_ChinhSuaNguyenLieu_Post", ex.Message);
             this.resetDuLieu();
             //----Hiện dữ liệu nguyên liệu lại lên view
             this.doDuLieuLenView(nlSua, db);
         }
     }
     return(View());
 }
Пример #8
0
 /// <summary>
 /// Hàm tạo giao diện chỉnh sửa nguyên liệu
 /// </summary>
 /// <param name="maNguyenLieu"></param>
 /// <returns></returns>
 public ActionResult nl_ChinhSuaNguyenLieu()
 {
     if (xulyChung.duocCapNhat(idOfPage, "7"))
     {
         try
         {
             string param = xulyChung.nhanThamSoTrongSession();
             if (param.Length > 0)
             {
                 int maNguyenLieu = xulyDuLieu.doiChuoiSangInteger(param);
                 this.resetDuLieu();
                 qlCaPheEntities db    = new qlCaPheEntities();
                 nguyenLieu      nlSua = db.nguyenLieux.SingleOrDefault(n => n.maNguyenLieu == maNguyenLieu);
                 if (nlSua != null)
                 {
                     this.doDuLieuLenView(nlSua, db);
                     xulyChung.ghiNhatKyDtb(1, "Chỉnh sửa nguyên liệu \" " + xulyDuLieu.traVeKyTuGoc(nlSua.tenNguyenLieu) + " \"");
                 }
                 else
                 {
                     throw new Exception("Nguyên liệu có mã " + maNguyenLieu + " không tồn tại để truy cập cập nhật");
                 }
             }
             else
             {
                 throw new Exception("không nhận được tham số");
             }
         }
         catch (Exception ex)
         {
             xulyFile.ghiLoi("Class: NguyenLieuController - Function: nl_ChinhSuaNguyenLieu_Get", ex.Message);
             return(RedirectToAction("PageNotFound", "Home"));
         }
     }
     return(View());
 }
Пример #9
0
        /// <summary>
        /// Hàm thực hiện lấy thông tin nguyên liệu khi đã click chọn trên modal
        /// </summary>
        /// <param name="maNL"></param>
        /// <returns></returns>
        public string layNguyenLieuModal(int maNL)
        {
            string kq = "";

            try
            {
                qlCaPheEntities db = new qlCaPheEntities();
                nguyenLieu      nl = db.nguyenLieux.SingleOrDefault(n => n.maNguyenLieu == maNL);
                if (nl != null)
                {
                    //-----Lấy chi tiết
                    kq += "<img id=\"hinhNguyenLieu\" class='img img-responsive img-thumbnail'";
                    kq += "src=\"" + xulyDuLieu.chuyenByteHinhThanhSrcImage(nl.hinhAnh) + "\" width=\"250px\" height=\"auto\" />";
                    kq += "<br />";
                    kq += "<label id=\"lbTenNguyenLieu\" class=\"font-15 font-italic font-bold col-orange\">" + xulyDuLieu.traVeKyTuGoc(nl.tenNguyenLieu) + "</label>";
                    kq += "<input id=\"maNguyenLieuDaChon\" type=\"hidden\" value=\"" + nl.maNguyenLieu.ToString() + "\" />";
                }
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class NguyenLieuController - Function: layNguyenLieuModal", ex.Message);
            }
            return(kq);
        }
Пример #10
0
 /// <summary>
 /// Hàm chuyển đổi số lượng nguyên liệu từ đơn vị lớn sang đơn vị nhỏ
 /// <para/> VD: 1 kg => 1000 gam
 /// </summary>
 /// <param name="soLuongCu">Số lượng cũ trước khi chuyển đổi</param>
 /// <param name="nl">Nguyên liệu cần chuyển đổi</param>
 /// <returns></returns>
 public double chuyenDoiDonViTuLonSangNho(double?soLuongCu, nguyenLieu nl)
 {
     return((double)(soLuongCu * nl.tyLeChuyenDoi));
 }
Пример #11
0
 /// <summary>
 /// Hàm chuyển đổi số lượng nguyên liệu từ đơn vị nhỏ sang đơn vị lớn <para/>
 /// VD: 1000 gam => 1 kg
 /// </summary>
 /// <param name="nl">Nguyên liệu cần chuyển đổi</param>
 /// <param name="soLuongCu">Số lượng cũ trước khi chuyển đổi</param>
 /// <returns></returns>
 public double chuyenDoiDonViNhoSangLon(double?soLuongCu, nguyenLieu nl)
 {
     return((double)(soLuongCu / nl.tyLeChuyenDoi));
 }