public ActionResult Create(InsertUpdateProductDto product) { try { if (!ModelState.IsValid) { ViewBag.Manufacturers = new SelectList(_getManufacturers.Execute(), "ManufacturerId", "Name"); ViewBag.Categories = new SelectList(_getCategories.Execute(), "CategoryId", "Name"); ViewBag.Suppliers = new SelectList(_getSuppliers.Execute(), "SupplierId", "Name"); return(View(product)); } _addProduct.Execute(product); return(RedirectToAction("Index")); } catch (EntityAlreadyExistsException e) { ViewBag.Manufacturers = new SelectList(_getManufacturers.Execute(), "ManufacturerId", "Name"); ViewBag.Categories = new SelectList(_getCategories.Execute(), "CategoryId", "Name"); ViewBag.Suppliers = new SelectList(_getSuppliers.Execute(), "SupplierId", "Name"); TempData["error"] = e.Message; return(View(product)); } catch { ViewBag.Manufacturers = new SelectList(_getManufacturers.Execute(), "ManufacturerId", "Name"); ViewBag.Categories = new SelectList(_getCategories.Execute(), "CategoryId", "Name"); ViewBag.Suppliers = new SelectList(_getSuppliers.Execute(), "SupplierId", "Name"); TempData["error"] = "An error has occured"; return(View(product)); } }
public void Execute(InsertUpdateProductDto request) { var product = Context.PRODUCT.Find(request.ProductId); if (product.NAME != request.Name) { if (Context.PRODUCT.Any(p => p.NAME.Trim().ToLower() == request.Name.Trim().ToLower())) { throw new EntityAlreadyExistsException("Product"); } product.NAME = request.Name; } product.DESCRIPTION = request.Description; product.PRICE = request.Price; product.CATEGORY_ID = request.CategoryId; product.MANUFACTURER_ID = request.ManufacturerId; _deleteProductSuppliers.Execute(request.ProductId); product.PRODUCT_SUPPLIER = request.SupplierIds.Select(supplierId => new PRODUCT_SUPPLIER { PRODUCT_ID = request.ProductId, SUPPLIER_ID = supplierId }).ToList(); Context.SaveChanges(); }
public void Execute(InsertUpdateProductDto request) { if (Context.PRODUCT.Any(p => p.NAME.Trim().ToLower() == request.Name.Trim().ToLower())) { throw new EntityAlreadyExistsException("Product"); } Context.PRODUCT.Add(new PRODUCT { NAME = request.Name, DESCRIPTION = request.Description, PRICE = request.Price, CATEGORY_ID = request.CategoryId, MANUFACTURER_ID = request.ManufacturerId, PRODUCT_SUPPLIER = request.SupplierIds.Select(supplierId => new PRODUCT_SUPPLIER { PRODUCT_ID = request.ProductId, SUPPLIER_ID = supplierId }).ToList() }); Context.SaveChanges(); }