public ActionResult SubmitUpdate(VMProductAndProducts pps)
        {
            if (ModelState.IsValid)
            {
                Product        p  = pps.product;
                List <Product> ps = pps.products;
                Product        fromDB;
                ProductDal     dal = new ProductDal();
                //fromDB = dal.Products.FirstOrDefault(x => x.IdProduct.Equals(pps.product.IdProduct));
                List <Product> products = (from x in dal.Products
                                           where x.IdProduct.Equals(pps.product.IdProduct)
                                           select x).ToList <Product>();


                if (products != null && products.Count() == 1)
                {
                    fromDB = products.ElementAt(0);
                    fromDB.cloneDetail(pps.product);
                }
                try
                {
                    dal.SaveChanges();
                    HistoricalProductDal dalHistori = new HistoricalProductDal();
                    Product fromDBHisrori           = dalHistori.Products.FirstOrDefault(x => x.IdProduct.Equals(pps.product.IdProduct));
                    dalHistori.Products.Remove(fromDBHisrori);
                    dalHistori.Products.Add(pps.product);
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(View("UpdateProduct", pps));
                }
                return(View("Actions", new VMUserAndProducrs(manager)));
            }
            return(View("UpdateProduct", pps));
        }
        public ActionResult UpdateProduct_byActionLink(Product pro)
        {
            VMProductAndProducts pps = new VMProductAndProducts(pro);

            pps.products = new List <Product>();
            pps.products.Add(pro);
            pps.user = manager;
            return(View("UpdateProduct", pps));
        }
        public ActionResult DeleteProduct_byActionLink(Product pro)
        {
            VMProductAndProducts pps = new VMProductAndProducts(pro);

            pps.products = new List <Product>();
            pps.products.Add(pro);

            ProductDal dal           = new ProductDal();
            Product    productRemove = dal.Products.FirstOrDefault(x => x.IdProduct.Equals(pps.product.IdProduct));

            dal.Products.Remove(productRemove);
            dal.SaveChanges();
            return(View("Actions", new VMUserAndProducrs(manager)));
        }
        private VMProductAndProducts searching()
        {
            string               strIdProduct = Request.Form["IdProduct"];
            string               strcategory  = Request.Form["Category"];
            string               strAnimal    = Request.Form["Animal"];
            ProductDal           dal          = new ProductDal();
            VMProductAndProducts pps          = new VMProductAndProducts();
            List <Product>       products     = new List <Product>();

            if (strcategory != null && strcategory != "")
            {
                products = (from x in dal.Products
                            where x.Category.Contains(strcategory)
                            select x).ToList <Product>();
            }
            else if (strAnimal != null && strAnimal != "")
            {
                products = (from x in dal.Products
                            where x.ForKindAnimal.Contains(strAnimal)
                            select x).ToList <Product>();
                pps.products = products;
            }
            else if (strIdProduct != null && strIdProduct != "")
            {
                int id = Int32.Parse(strIdProduct);
                products = (from x in dal.Products
                            where x.IdProduct.Equals(id)
                            select x).ToList <Product>();
                pps.products = products;
            }

            if (products.Count() > 0 && products.Count() == 1)
            {
                pps.product  = products.ElementAt(0);
                pps.products = products;
            }
            else if (products.Count() > 0)
            {
                pps.product  = null;
                pps.products = products;
            }
            else
            {
                pps.product  = null;
                pps.products = null;
            }
            pps.user = manager;
            return(pps);
        }
 public ActionResult SubmitDelete(VMProductAndProducts pps)
 {
     if (ModelState.IsValid)
     {
         ProductDal dal           = new ProductDal();
         Product    productRemove = dal.Products.FirstOrDefault(x => x.IdProduct.Equals(pps.product.IdProduct));
         dal.Products.Remove(productRemove);
         dal.SaveChanges();
         return(View("Actions", new VMUserAndProducrs(manager)));
     }
     else
     {
         return(View("DeleteProduct"));
     }
 }
 public ActionResult UpdateProduct(VMProductAndProducts pps)
 {
     pps.user = manager;
     return(View("UpdateProduct", pps));
 }