public int AddMaterial(FormCollection f)
 {
     try
     {
         ManageMaterialBusiness mmb = new ManageMaterialBusiness();
         string materialName = f["txtName"].ToString();
         string materialUnit = f.Get("txtUnit").ToString();
         int materialSQuantity = Convert.ToInt32(f["txtSQuantity"]);
         var materialList = mmb.GetMaterial();
         for (int i = 0; i < materialList.Count; i++)
         {
             if (StringComparer.CurrentCultureIgnoreCase.Equals(materialName, materialList[i].ProductMaterialName))
             {
                 //TempData["Error"] = String.Format("{0}{1}", materialName, " đã tồn tại");
                 return -2;
             }
         }
         if (ModelState.IsValid)
         {
             mmb.AddMaterial(materialName, materialUnit, materialSQuantity);
             return 1;
         }
         return -1;
     }
     catch
     {
         return -3;
     }
 }
 //
 // GET: /ManageMaterial/
 public ActionResult Index()
 {
     try
     {
         if (!MvcApplication.lowQuantityNotifer.CheckConnection())
         {
             MvcApplication.lowQuantityNotifer.Start("BMAChangeDB", "SELECT ProductMaterialId,CurrentQuantity,StandardQuantity FROM dbo.[ProductMaterial] WHERE (CurrentQuantity < StandardQuantity AND IsActive = 'True')");
             MvcApplication.lowQuantityNotifer.Change += this.OnChange2;
         }
         if (Session["User"] == null || Session["UserRole"] == null)
         {
             return RedirectToAction("Index", "Home");
         }
         ViewBag.TreeView = "productMaterial";
         ViewBag.TreeViewMenu = "productMaterialList";
         ManageMaterialBusiness mmb = new ManageMaterialBusiness();
         var material = mmb.GetMaterial().OrderByDescending(n => n.IsActive).ThenByDescending(n => n.CurrentQuantity < n.StandardQuantity).ToList();
         return View(material);
     }
     catch
     {
         return RedirectToAction("ManageError", "Error");
     }
 }
 public int EditConfirm(int materialId, FormCollection f)
 {
     try
     {
         ManageMaterialBusiness mmb = new ManageMaterialBusiness();
         var materialToUpdate = mmb.GetMaterialDetail(materialId);
         string materialName = f["txtName"].ToString();
         string materialUnit = f.Get("txtUnit").ToString();
         int materialSQuantity = Convert.ToInt32(f["txtSQuantity"]);
         var materialList = mmb.GetMaterial();
         if (materialName != materialToUpdate.ProductMaterialName)
         {
             for (int i = 0; i < materialList.Count; i++)
             {
                 if (materialName == materialList[i].ProductMaterialName)
                 {
                     return -2;
                 }
             }
         }
         if (!mmb.CheckProductMaterial(materialId, materialSQuantity))
         {
             MvcApplication.lowQuantityNotifer.Dispose();
         }
         if (ModelState.IsValid)
         {
             mmb.EditMaterial(materialId, materialName, materialUnit, materialSQuantity);
             return 1;
         }
         return -1;
     }
     catch
     {
         return -3;
     }
 }