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));
        }