Beispiel #1
0
        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")));
        }
Beispiel #2
0
        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 }));
        }