public ActionResult Create(ProductDetailView productDetailView) { productDetailView.EmployeeView = GetEmployee(); #region Access Check bool hasPermission = GetEmployee().IsGuaranteed("Product_Insert"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(productDetailView)); } #endregion if (ModelState.IsValid) { try { AddProductRequestOld request = new AddProductRequestOld(); request.CreateEmployeeID = GetEmployee().ID; request.Discontinued = productDetailView.ProductView.Discontinued; request.ProductName = productDetailView.ProductView.ProductName; request.ProductCategoryID = productDetailView.ProductView.ProductCategoryID; request.ProductCode = productDetailView.ProductView.ProductCode; request.Note = productDetailView.ProductView.Note; request.UnitsInStock = productDetailView.ProductView.UnitsInStock; GeneralResponse response = this._productService.AddProduct(request); if (response.success) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(productDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(productDetailView)); } } return(View(productDetailView)); }
public GeneralResponse AddProduct(AddProductRequestOld request) { GeneralResponse response = new GeneralResponse(); try { Product product = new Product(); product.ID = Guid.NewGuid(); product.CreateDate = PersianDateTime.Now; product.CreateEmployee = _employeeRepository.FindBy(request.CreateEmployeeID); product.ProductCategory = this._productCategoryRepository.FindBy(request.ProductCategoryID); product.ProductCode = request.ProductCode; product.ProductName = request.ProductName; product.UnitsInStock = 0; //request.UnitsInStock; product.Note = request.Note; product.Discontinued = request.Discontinued; #region Validation if (product.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in product.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } #endregion product.RowVersion = 1; _productRepository.Add(product); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } return(response); }