public static EndSprintRequest ToRequest(this EndSprintViewModel vm, string userId) { return(new EndSprintRequest(userId) { Id = Identity.FromString(vm.Sprint.Id), Stories = vm.Ids.Select((t, i) => new EndSprintRequest.Story { Id = Identity.FromString(t), Decision = Enum.Parse <EndSprintRequest.StoryDecision>(vm.Decisions[i]), }), }); }
public IActionResult End(EndSprintViewModel vm) { var presenter = _presenterFactory.End(MessageHandler, ErrorHandler); try { var uc = _useCaseFactory.End; var request = vm.ToRequest(CurrentUserId); var response = uc.Execute(request); return(RedirectToAction(nameof(Index), "Project", new { id = presenter.Present(response) })); } catch (InvalidRequestException ire) { presenter.PresentErrors(ire.Message, ire.Errors); return(RedirectToAction(nameof(Index), "Home")); } catch (Exception e) { presenter.PresentMessage(MessageType.Error, e.Message); return(RedirectToAction(nameof(Index), "Home")); } }
public EndSprintViewModel Present(EndSprintViewModel vm) { vm.Statuses = _statuses; return(vm); }