public ActionResult Edit(ProductItem item) { try { Service.Product.Save(item); return RedirectToRouteNotify("EditProduct", new { id = item.Id }); } catch (ValidationException ex) { AddModelErrors(ex); Service.Product.AppendData(item); return View("~/Views/Admin/Products/Edit.cshtml", item); } }
public ProductItem Get(long id) { var productItem = new ProductItem(); if (id != 0) { productItem = Db.GetProductItem(id); var firstImage = productItem.ProductImages.FirstOrDefault(); if (firstImage != null && firstImage.Position > 0) { firstImage.IsChecked = true; } } AppendData(productItem); return productItem; }
public void Save(ProductItem item) { var errors = item.GetValidationErrors(); errors.ThrowIfHasErrors(); var product = new tblProduct(); if (item.Id != 0) { product = Db.Set<tblProduct>().Single(x => x.Id == item.Id); } else { product = Db.Set<tblProduct>().Create(); Db.Set<tblProduct>().Add(product); } product.Descripton = item.Descripton; product.Name = item.Name; product.YandexUrl = item.YandexUrl; product.Specs = item.Specs; product.CategoryId = item.CategoryId; Db.SaveChanges(); item.Id = product.Id; }
public void AppendData(ProductItem item) { item.AvaliableCategories = Db.AllCategoriesFlatten(); }