public static bool AddInputMaterial(int productMaterialId, InputMaterial inputMaterial, int importQuantity)
 {
     if (inputMaterial == null)
     {
         return false;
     }
     try
     {
         ProductMaterial productMaterial = db.ProductMaterials.FirstOrDefault(m => m.ProductMaterialId == productMaterialId);
         productMaterial.CurrentQuantity = productMaterial.CurrentQuantity + importQuantity;
         db.InputMaterials.Add(inputMaterial);
         db.SaveChanges();
     }
     catch (Exception e)
     {
         string s = e.ToString();
         return false;
     }
     return true;
 }
        public int AddInputMaterial(FormCollection f)
        {
            try
            {
                User staffUser = Session["User"] as User;
                if (staffUser == null || Session["UserRole"] == null || (int)Session["UserRole"] != 2)
                {
                    return -7;
                }
                else
                {
                    InputMaterial inputMaterial = new InputMaterial();
                    String productMaterialIdString = f["productMaterialId"];
                    int productMaterialId = Convert.ToInt32(productMaterialIdString);
                    String importQuantityString = f["txtImportQuantity"];
                    int importQuantity = Convert.ToInt32(importQuantityString);
                    String inputMaterialUnitPriceString = f["txtUnitPrice"];
                    String importDateString = f["txtImportDate"];
                    String inputMaterialExpiryDateString = f["txtInputMaterialExpiryDate"];
                    String inputMaterialNote = f["txtInputMaterialNote"];
                    String inputBillId = f["inputBillId"];

                    var importDate = DateTime.ParseExact(importDateString, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    var expireDate = DateTime.ParseExact(inputMaterialExpiryDateString, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    if (DateTime.Compare(expireDate, importDate) >= 1)
                    {
                        try
                        {
                            int inputMaterialUnitPrice = Convert.ToInt32(inputMaterialUnitPriceString);

                            inputMaterial.ImportQuantity = importQuantity;
                            inputMaterial.InputMaterialPrice = inputMaterialUnitPrice;
                            inputMaterial.ImportDate = DateTime.ParseExact(importDateString, "dd/MM/yyyy",
                                CultureInfo.InvariantCulture);
                            inputMaterial.InputMaterialExpiryDate = DateTime.ParseExact(inputMaterialExpiryDateString,
                                "dd/MM/yyyy", CultureInfo.InvariantCulture);
                            inputMaterial.InputMaterialNote = inputMaterialNote;
                            inputMaterial.InputBillId = Convert.ToInt32(inputBillId);
                            //Change product material quantity
                            inputMaterial.ProductMaterialId = productMaterialId;
                            inputMaterial.RemainQuantity = Convert.ToInt32(importQuantity);
                            inputMaterial.IsActive = true;
                        }
                        catch (Exception)
                        {
                            return 0;

                        }
                    }
                    else
                    {
                        return -1;
                    }

                    //M code them
                    if (!InputMaterialBusiness.CheckProductMaterial(productMaterialId, importQuantity, 0))
                    {
                        MvcApplication.lowQuantityNotifer.Dispose();
                    }
                    //

                    bool result = InputMaterialBusiness.AddInputMaterial(productMaterialId, inputMaterial, importQuantity);
                    if (result)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                }
            }
            catch (Exception)
            {
                return 0;
            }
        }