public async Task <ActionResult> FinishEditing(FinishEditingViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } if (viewModel.SaveStatus.IsSend()) { return(RedirectToAction("Submit", new { viewModel.ProviderId, viewModel.HashedCommitmentId, viewModel.SaveStatus })); } if (viewModel.SaveStatus == SaveStatus.Approve) { await _commitmentOrchestrator.SubmitCommitment(CurrentUserId, viewModel.ProviderId, viewModel.HashedCommitmentId, viewModel.SaveStatus, string.Empty, GetSignedInUser()); return(RedirectToAction("Approved", new { providerId = viewModel.ProviderId, hashedCommitmentId = viewModel.HashedCommitmentId })); } return(Redirect(_providerUrlhelper.ProviderCommitmentsLink($"{viewModel.ProviderId}/unapproved"))); }
public async Task <ActionResult> FinishedEditing(FinishEditingViewModel viewModel) { if (!ModelState.IsValid) { var response = await _employerCommitmentsOrchestrator.GetFinishEditingViewModel(viewModel.HashedAccountId, OwinWrapper.GetClaimValue(@"sub"), viewModel.HashedCommitmentId); response.Data = viewModel; return(View(response)); } if (viewModel.SaveStatus.IsSend()) { return(RedirectToAction("SubmitExistingCommitment", new { viewModel.HashedAccountId, viewModel.HashedCommitmentId, viewModel.SaveStatus })); } if (viewModel.SaveStatus.IsFinalApproval()) { var userDisplayName = OwinWrapper.GetClaimValue(DasClaimTypes.DisplayName); var userEmail = OwinWrapper.GetClaimValue(DasClaimTypes.Email); var userId = OwinWrapper.GetClaimValue(@"sub"); await _employerCommitmentsOrchestrator.ApproveCommitment(viewModel.HashedAccountId, userId, userDisplayName, userEmail, viewModel.HashedCommitmentId, viewModel.SaveStatus); return(RedirectToAction("Approved", new { viewModel.HashedAccountId, viewModel.HashedCommitmentId })); } var flashmessage = new FlashMessageViewModel { Headline = "Details saved but not sent", Severity = FlashMessageSeverityLevel.Info }; AddFlashMessageToCookie(flashmessage); return(RedirectToAction("YourCohorts", new { hashedAccountId = viewModel.HashedAccountId })); }