Example #1
0
        public IActionResult Edit(ProductEditViewModel pvm)
        {
            //model is invalid, reconstruct our list of suppliers and show edit view
            if (!ModelState.IsValid)
            {
                var suppliers = _dataContext.Suppliers.ToList();
                pvm.Suppliers = suppliers.Select(s => new SelectListItem
                {
                    Text  = s.CompanyName,
                    Value = s.Id.ToString()
                }).ToList();
                return(View(pvm));
            }
            //view model is valid, create a new product using the form data
            var product = new Product
            {
                Id             = pvm.Id,
                ProductName    = pvm.ProductName,
                UnitPrice      = pvm.UnitPrice,
                Package        = pvm.Package,
                IsDiscontinued = pvm.IsDiscontinued,
                SupplierId     = pvm.SupplierId
            };

            //update our datacontext, go back to home/index
            _dataContext.Attach(product);
            _dataContext.Entry(product).State = EntityState.Modified;
            _dataContext.SaveChanges();
            return(RedirectToAction("Index", "Home"));
        }
Example #2
0
        public IActionResult Edit(ProductEditViewModel pvm)
        {
            if (!ModelState.IsValid)
            {
                var suppliers = _dataContext.Suppliers.ToList();
                pvm.Suppliers = suppliers.Select(s => new SelectListItem {
                    Text = s.CompanyName, Value = s.Id.ToString()
                }).ToList();
                return(View(pvm));
            }
            var product = new Product
            {
                Id             = pvm.Id,
                ProductName    = pvm.ProductName,
                UnitPrice      = pvm.UnitPrice,
                Package        = pvm.Package,
                IsDiscontinued = pvm.IsDiscontinued,
                SupplierId     = pvm.SupplierId
            };

            _dataContext.Attach(product);
            _dataContext.Entry(product).State = EntityState.Modified;
            _dataContext.SaveChanges();
            return(RedirectToAction("Index", "Home"));
        }
Example #3
0
        public IActionResult Post([FromBody] Product product)
        {
            _dataContext.Attach(product);
            _dataContext.Entry(product).State = EntityState.Added;
            _dataContext.SaveChanges();

            return(CreatedAtAction("Get", new { id = product.Id }, product));
        }