/// <summary>
        /// Hàm tạo nội dung chi tiết của từng bước
        /// </summary>
        /// <param name="ct"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        private string htmlNoiDungChoTungBuoc(ctCongThuc ct, int index)
        {
            string kq = "";

            if (index == 0)
            {
                kq += "      <div class=\"tab-pane active\" role=\"tabpanel\" id=\"step" + ct.buocSo.ToString() + "\">";             //---Kiểm tra nếu là phần tử đầu tiên thì thêm class active
            }
            else
            {
                kq += "                        <div class=\"tab-pane\" role=\"tabpanel\" id=\"step" + ct.buocSo.ToString() + "\">";
            }
            kq += "                                 <h3>Bước " + ct.buocSo.ToString() + "</h3>";
            kq += "                                 <div class=\"col-lg-6 col-md-6 col-xs-6\"><b>HÀNH ĐỘNG</b><p class=\"lead col-pink\">" + xulyDuLieu.traVeKyTuGoc(ct.hanhDong) + "</p></div>";
            if (ct.maNguyenLieu > 0)
            {//---Có nguyên liệu thì lấy thông tin nguyên liệu
                kq += "                               <div class=\"col-lg-6 col-md-6 col-xs-6\">";
                kq += "                                   <b>NGUYÊN LIỆU SỬ DUNG</b><img src=\"" + xulyDuLieu.chuyenByteHinhThanhSrcImage(ct.nguyenLieu.hinhAnh) + "\">";
                kq += "<p class=\"lead col-cyan\">" + xulyDuLieu.traVeKyTuGoc(ct.nguyenLieu.tenNguyenLieu) + "</p>";
                kq += "                                   <p class=\"font-bold col-orange\">Số lượng sử dụng: " + ct.soLuongNguyenLieu.ToString() + " " + xulyDuLieu.traVeKyTuGoc(ct.nguyenLieu.donViPhaChe) + " = " + xulyDuLieu.traVeKyTuGoc(ct.donViSuDung) + "</p>";
                kq += "                               </div>";
            }
            kq += "                                       <div class=\"col-lg-9 col-md-9 col-xs-9 \"><label class=\"pull-left col-teal\"><i>* Ghi chú cho bước: </i>" + xulyDuLieu.traVeKyTuGoc(ct.ghiChu) + "</label></div>";
            kq += "                             </div>";
            return(kq);
        }
 /// <summary>
 /// hàm thực hiện thêm chi tiết công thức vào database
 /// </summary>
 /// <param name="maCongThuc"></param>
 private void themChiTietVaoDatabase(int maCongThuc, qlCaPheEntities db)
 {
     try
     {
         //------lấy danh sách các chi tiết trong session
         cartCongThuc cart = (cartCongThuc)Session["congThuc"];
         //------Lặp qua từng phần tử có trong list và thêm vào database
         foreach (ctCongThuc ct in cart.getList())
         {
             ctCongThuc ctThem = new ctCongThuc();
             //----Vì mã ct và ctThem khác nhau nên cần gán lại giá trị
             ctThem.buocSo     = ct.buocSo;
             ctThem.ghiChu     = ct.ghiChu;
             ctThem.hanhDong   = ct.hanhDong;
             ctThem.maCongThuc = maCongThuc;
             if (ct.maNguyenLieu != 0) //---Kiểm tra, nếu có nguyên liệu thì thêm các thuộc tính của nguyên liệu
             {
                 ctThem.maNguyenLieu      = ct.maNguyenLieu;
                 ctThem.soLuongNguyenLieu = ct.soLuongNguyenLieu;
                 ctThem.donViSuDung       = ct.donViSuDung;
             }
             //----Thêm vào database
             db.ctCongThucs.Add(ctThem);
             db.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         xulyFile.ghiLoi("Class CongThucController - Function: themChiTietVaoDatabase", ex.Message);
     }
 }
        /// <summary>
        /// Hàm thực hiện xóa 1 bước trong Session
        /// </summary>
        /// <param name="maCt">Mã chi tiết công thức cần xóa</param>
        /// <returns>Bảng danh sách các bước còn lại trong session</returns>
        public string xoaMotBuoc(int maCt)
        {
            cartCongThuc cart = (cartCongThuc)Session["congThuc"];

            if (maCt > 0)
            {
                //-------Lấy công thức cần xóa có trong cart
                ctCongThuc ctXoa = cart.getList().SingleOrDefault(c => c.maChiTiet == maCt);
                if (ctXoa != null)
                {
                    cart.removeItem(ctXoa.maChiTiet);
                    Session["congThuc"] = cart;
                }
            }
            //-----Trả về chuỗi bao gồm htmlTablBangDanhSachBuoc|BangDanhSachNguyenLieu|TongTienNguyenLieu
            return(this.taoBangChiTietVaNguyenLieuSuDungTuSession());
        }
        /// <summary>
        /// Hàm tạo script cho mỗi bước của công thức. Khi người dùng click vào mỗi item dưới đây sẽ hiện chi tiết của công thức đó
        /// </summary>
        /// <param name="ct">Mỗi bước đang lặp qua</param>
        /// <param name="index">Thứ tự để gán class Active để kích hoạt chọn bước đầu tiên</param>
        /// <returns></returns>
        private string htmlStepListModalChitietCongThuc(ctCongThuc ct, int index)
        {
            string kq = "";

            kq += "<li role=\"presentation\"";
            if (index == 0) //--Active tabb bước 1
            {
                kq += "                              class=\"active\">";
            }
            else
            {
                kq += "                             >"; //-----Đóng tag li
            }
            kq += "                                      <a href=\"#step" + ct.buocSo.ToString() + "\" data-toggle=\"tab\" aria-controls=\"step1\" role=\"tab\" title=\"Bước " + ct.buocSo.ToString() + "\">";
            kq += "                                         <span class=\"round-tab\">" + ct.buocSo.ToString() + "</span></a></li>";
            return(kq);
        }
        /// <summary>
        /// Hàm thực hiện lấy thông tin chi tiết rồi đổ dữ liệu lên giao diện khi người dùng click vào chỉnh sửa chi tiết
        /// </summary>
        /// <param name="maCt"></param>
        /// <returns>Trả về chuỗi dữ liệu trong chi tiết theo dạng
        /// buocSo|hanhDong|ghiChu|soLuongSuDung|donViSuDung|maChiTiet|maNguyenLieuVaHinhAnh</returns>
        public string doDuLieuChiTietLenView(int maCt)
        {
            string       kq    = "";
            cartCongThuc cart  = (cartCongThuc)Session["congThuc"];
            ctCongThuc   ctSua = cart.getItem(maCt);;

            if (ctSua != null)
            {
                string imgAndID = "";
                if (ctSua.nguyenLieu != null) //-----Kiểm tra xem có nguyên liệu để gán hình và mã nguyên liệu cập nhật
                {
                    //------Tạo chuỗi hiện hình nguyên liệu nếu bước có nguyên liệu.
                    imgAndID += "<img id=\"hinhNguyenLieu\" class='img img-responsive img-thumbnail'";
                    imgAndID += "src=\"" + xulyDuLieu.chuyenByteHinhThanhSrcImage(ctSua.nguyenLieu.hinhAnh) + "\" width=\"250px\" height=\"auto\" />";
                    imgAndID += "<input id=\"maNguyenLieuDaChon\" type=\"hidden\" value=\"" + ctSua.maNguyenLieu.ToString() + "\" />";
                }
                kq += ctSua.buocSo.ToString() + "|" + xulyDuLieu.traVeKyTuGoc(ctSua.hanhDong) + "|" + xulyDuLieu.traVeKyTuGoc(ctSua.ghiChu) + "|" + ctSua.soLuongNguyenLieu.ToString() + "|" + xulyDuLieu.traVeKyTuGoc(ctSua.donViSuDung) + "|" + ctSua.maChiTiet.ToString() + "|" + imgAndID;
            }
            return(kq);
        }
        /// <summary>
        /// Hàm thực hiện ajax thêm các bước vào bảng và thực hiện lấy danh sách các bước có trong cart đổ lên giao diện
        /// </summary>
        /// <returns>Trả vê chuỗi htmlBangDanhSachCacBuoc|bảng danh sách nguyên liệu|tongGiaNguyenLieu</returns>
        public string themChiTietVaTraVeBang(string duLieu)
        {
            cartCongThuc cart = (cartCongThuc)Session["congThuc"];

            try
            {
                ctCongThuc chiTietAdd = new ctCongThuc();
                this.layDuLieuTuViewChiTiet(chiTietAdd, duLieu);
                //------Thêm chi tiết vào session
                cart.addCart(chiTietAdd);
                //-----Cập nhật lại session
                Session["congThuc"] = cart;
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class CongThucController - Function: themChiTietVaTraVeBang", ex.Message);
            }
            //Trả vê chuỗi htmlBangDanhSachCacBuoc|bảng danh sách nguyên liệu|tongGiaNguyenLieu
            return(taoBangChiTietVaNguyenLieuSuDungTuSession());
        }
Пример #7
0
 /// <summary>
 /// Hàm thêm chi tiết công thức đã chọn vào Session
 /// </summary>
 public void addCart(ctCongThuc x)
 {
     try
     {
         ///--------Kiểm tra xem có trùng mã nguyên liệu, nếu không thì mới cho thêm vào
         if (!this.Item.ContainsKey(x.maChiTiet))
         {
             this.Item.Add(x.maChiTiet, x);
         }
         //---Nếu như nguyên liệu đã có trong session thì xóa và cập nhật nguyên liệu mới
         else
         {
             //-----Xóa nguyên liệu
             this.removeItem(x.maChiTiet);
             this.Item.Add(x.maNguyenLieu, x);
         }
     }
     catch (Exception ex)
     {
         xulyFile.ghiLoi("Class: cartCongThuc- Function: addCart", ex.Message);
     }
 }
        /// <summary>
        /// Hàm thực hiện lấy dữ liệu chi tiết gán vào các thuộc tính của chi tiết
        /// </summary>
        /// <param name="chiTiet"></param>
        /// <param name="duLieu">Chuỗi dữ liệu được lấy khi ajax gửi về. Dữ liệu là các giá trị trong textbox nhập vào chi tiết
        /// có dang: maNguyenLieu|buocSo|soLuong|donVi|hanhDong|ghiChu</param>
        private void layDuLieuTuViewChiTiet(ctCongThuc chiTiet, string duLieu)
        {
            string loi = "";
            //------Thực hiện xử lý cắt chuỗi duLieu để lấy giá trị của các thuộc tính
            int maNguyenLieu = xulyDuLieu.doiChuoiSangInteger(duLieu.Split('|')[0]);

            if (maNguyenLieu > 0)
            {   //-----Gán nguyên liệu vào chi tiết
                qlCaPheEntities db = new qlCaPheEntities();
                chiTiet.nguyenLieu = db.nguyenLieux.SingleOrDefault(c => c.maNguyenLieu == maNguyenLieu);
            }
            int buocSo = xulyDuLieu.doiChuoiSangInteger(duLieu.Split('|')[1]);

            if (buocSo <= 0)
            {
                loi += "Vui lòng nhập bước thực hiện <br/>";
            }
            double soLuongSuDung = xulyDuLieu.doiChuoiSangDouble(duLieu.Split('|')[2]);
            string donViSuDung   = xulyDuLieu.xulyKyTuHTML(duLieu.Split('|')[3]);
            string hanhDong      = xulyDuLieu.xulyKyTuHTML(duLieu.Split('|')[4]);

            if (hanhDong.Length <= 0)
            {
                loi += "Vui lòng nhập hành động cho bước này <br/>";
            }
            string ghiChu = xulyDuLieu.xulyKyTuHTML(duLieu.Split('|')[5]);

            if (loi.Length > 0)
            {
                throw new Exception(loi);
            }
            chiTiet.maChiTiet         = ++maChiTietTam;
            chiTiet.maNguyenLieu      = maNguyenLieu;
            chiTiet.buocSo            = buocSo;
            chiTiet.soLuongNguyenLieu = soLuongSuDung;
            chiTiet.donViSuDung       = donViSuDung;
            chiTiet.hanhDong          = hanhDong;
            chiTiet.ghiChu            = ghiChu;
        }
        /// <summary>
        /// Hàm thực hiện chỉnh sửa lại bước trong session
        /// </summary>
        /// <param name="maCt">Mã chi tiết để xác định chi tiết cần sửa</param>
        /// <param name="duLieu">Chuỗi chứa dữ liệu chỉnh sửa có dang: maNguyenLieu|buocSo|soLuong|donVi|hanhDong|ghiChu</param>
        /// <returns>Trả vê chuỗi htmlBangDanhSachCacBuoc|bảng danh sách nguyên liệu|tongGiaNguyenLieu</returns>
        public string chinhSuaBuoc(string duLieu, int maCt)
        {
            cartCongThuc cart = (cartCongThuc)Session["congThuc"];

            try
            {
                //-----Lấy ra 1 phần tử trong session với điều kiện.....
                ctCongThuc chiTietSua = cart.getItem(maCt);
                this.layDuLieuTuViewChiTiet(chiTietSua, duLieu);
                //----Xóa bước cũ trong session và tạo lại
                cart.removeItem(maCt);
                chiTietSua.maChiTiet = maCt;
                cart.addCart(chiTietSua);
                //------Cập nhật lại session
                Session["congThuc"] = cart;
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class CongThucController - Function: chinhSuaBuoc", ex.Message);
            }
            return(taoBangChiTietVaNguyenLieuSuDungTuSession());
        }