public GeneralResponse EditSpecialNumber(EditSpecialNumberRequestOld request) { GeneralResponse response = new GeneralResponse(); SpecialNumber specialNumber = new SpecialNumber(); specialNumber = _specialNumberRepository.FindBy(request.ID); if (specialNumber != null) { try { specialNumber.ModifiedDate = PersianDateTime.Now; specialNumber.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); specialNumber.FromNumber = request.FromNumber; if (request.Note != null) { specialNumber.Note = request.Note; } specialNumber.ToNumber = request.ToNumber; if (specialNumber.RowVersion != request.RowVersion) { ////response.success = false; response.ErrorMessages.Add("کارشناس محترم، یک کاربر همزمان با شما در حال ویرایش این رکورد است. بنابراین اطلاعات شما ذخیره نمی شود."); return(response); } else { specialNumber.RowVersion += 1; } if (specialNumber.GetBrokenRules().Count() > 0) { ////response.success = false; foreach (BusinessRule businessRule in specialNumber.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _specialNumberRepository.Save(specialNumber); _uow.Commit(); ////response.success = true; } catch (Exception ex) { ////response.success = false; response.ErrorMessages.Add(ex.Message); } } else { ////response.success = false; response.ErrorMessages.Add("هیچ موردی جهت ویرایش وجود ندارد."); } return(response); }
public ActionResult Edit(string id, SpecialNumberDetailView specialNumberDetailView) { specialNumberDetailView.EmployeeView = GetEmployee(); #region Access Check bool hasPermission = GetEmployee().IsGuaranteed("SpecialNumbers_Update"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(specialNumberDetailView)); } #endregion if (ModelState.IsValid) { try { EditSpecialNumberRequestOld request = new EditSpecialNumberRequestOld(); request.ID = Guid.Parse(id); request.ModifiedEmployeeID = GetEmployee().ID; request.FromNumber = specialNumberDetailView.SpecialNumberView.FromNumber; request.ToNumber = specialNumberDetailView.SpecialNumberView.ToNumber; request.Note = specialNumberDetailView.SpecialNumberView.Note; request.RowVersion = specialNumberDetailView.SpecialNumberView.RowVersion; GeneralResponse response = this._specialNumberService.EditSpecialNumber(request); if (response.success) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(specialNumberDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(specialNumberDetailView)); } } return(View(specialNumberDetailView)); }