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));
            }
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }