public GeneralResponse EditCondition(EditConditionRequestOld request) { GeneralResponse response = new GeneralResponse(); Condition condition = new Condition(); condition = _conditionRepository.FindBy(request.ID); if (condition != null) { try { condition.ModifiedDate = PersianDateTime.Now; condition.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); condition.ConditionTitle = request.ConditionTitle; condition.ErrorText = request.ErrorText; condition.nHibernate = request.nHibernate; condition.QueryText = request.QueryText; #region RowVersion Check if (condition.RowVersion != request.RowVersion) { response.ErrorMessages.Add("کارشناس محترم، یک کاربر همزمان با شما در حال ویرایش این رکورد است. بنابراین اطلاعات شما ذخیره نمی شود."); return(response); } else { condition.RowVersion += 1; } #endregion #region Validation if (condition.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in condition.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } #endregion _conditionRepository.Save(condition); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } } else { response.ErrorMessages.Add("NoItemToEditText"); } return(response); }
public ActionResult Edit(string id, ConditionDetailView conditionDetailView) { conditionDetailView.EmployeeView = GetEmployee(); #region Access Check bool hasPermission = GetEmployee().IsGuaranteed("Condition_Update"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(conditionDetailView)); } #endregion if (ModelState.IsValid) { try { EditConditionRequestOld request = new EditConditionRequestOld(); request.ID = Guid.Parse(id); request.ModifiedEmployeeID = GetEmployee().ID; request.ConditionTitle = conditionDetailView.ConditionView.ConditionTitle; //request.CriteriaOperator = conditionDetailView.ConditionView.CriteriaOperator; request.ErrorText = conditionDetailView.ConditionView.ErrorText; request.nHibernate = conditionDetailView.ConditionView.nHibernate; //request.PropertyName = conditionDetailView.ConditionView.PropertyName; request.QueryText = conditionDetailView.ConditionView.QueryText; //request.Value = conditionDetailView.ConditionView.Value; request.RowVersion = conditionDetailView.ConditionView.RowVersion; GeneralResponse response = this._conditionService.EditCondition(request); if (response.success) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(conditionDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(conditionDetailView)); } } return(View(conditionDetailView)); }