public GeneralResponse EditProductCategory(EditProductCategoryRequest request) { GeneralResponse response = new GeneralResponse(); ProductCategory productCategory = new ProductCategory(); productCategory = _productCategoryRepository.FindBy(request.ID); if (productCategory != null) { try { productCategory.ModifiedDate = PersianDateTime.Now; productCategory.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); if (request.ProductCategoryName != null) { productCategory.ProductCategoryName = request.ProductCategoryName; } if (request.Note != null) { productCategory.Note = request.Note; } productCategory.Discontinued = request.Discontinued; if (productCategory.RowVersion != request.RowVersion) { response.ErrorMessages.Add("EditConcurrencyKey"); return(response); } else { productCategory.RowVersion += 1; } if (productCategory.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in productCategory.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _productCategoryRepository.Save(productCategory); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } } else { response.ErrorMessages.Add("NoItemToEditKey"); } return(response); }
public ActionResult Edit(string id, ProductCategoryDetailView productCategoryDetailView) { #region Access Check bool hasPermission = GetEmployee().IsGuaranteed("ProductCategory_Update"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(productCategoryDetailView)); } #endregion if (ModelState.IsValid) { try { EditProductCategoryRequest request = new EditProductCategoryRequest(); request.ID = Guid.Parse(id); request.ModifiedEmployeeID = GetEmployee().ID; request.Discontinued = productCategoryDetailView.ProductCategoryView.Discontinued; request.ProductCategoryName = productCategoryDetailView.ProductCategoryView.ProductCategoryName; request.Note = productCategoryDetailView.ProductCategoryView.Note; request.RowVersion = productCategoryDetailView.ProductCategoryView.RowVersion; GeneralResponse response = this._productCategoryService.EditProductCategory(request); if (response.success) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(productCategoryDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(productCategoryDetailView)); } } return(View(productCategoryDetailView)); }