public ActionResult Edit(RequestForWorkerDto dto) { if (dto.State == EState.InProgress && string.IsNullOrWhiteSpace(dto.WorkerComment)) { ModelState.AddModelError(nameof(dto.WorkerComment), $"{CurrentOperatorService.GetCurrentUser().Name}, добавьте, пожалуйста, комментарий."); } if (!dto.NextState.HasValue) { ModelState.AddModelError(nameof(dto.NextState), $"{CurrentOperatorService.GetCurrentUser().Name}, выберите следующий статус."); } if (!ModelState.IsValid) { return(View(dto)); } var request = RequestDataStore.Get(dto.Id); request.State = dto.NextState.Value; request.WorkerComment = dto.WorkerComment; request.Executor = CurrentOperatorService.GetCurrentUser(); RequestDataStore.Update(request); return(RedirectToAction("Details", new { id = dto.Id })); }
public ActionResult Edit(long id) { var request = RequestDataStore.Get(id); var nextStates = NextStateService.NextStates(request.State); var dto = new RequestForWorkerDto { Id = request.Id, State = request.State, AuthorName = request.Author.Name, CategoryName = request.Category.Name, ConsumerName = request.ConsumerName, Date = request.Date, Comment = request.Comment, Phone = request.Phone, NextState = nextStates.FirstOrDefault(), NextStates = nextStates, WorkerComment = request.WorkerComment }; return(View(dto)); }