Esempio n. 1
0
        public async Task <IActionResult> ReviewApprenticeshipUpdates([FromServices] IAuthenticationService authenticationService, ReviewApprenticeshipUpdatesViewModel viewModel)
        {
            if (viewModel.ApproveChanges.Value)
            {
                var request = new AcceptApprenticeshipUpdatesRequest
                {
                    ApprenticeshipId = viewModel.ApprenticeshipId,
                    AccountId        = viewModel.AccountId,
                    UserInfo         = authenticationService.UserInfo
                };

                await _commitmentsApiClient.AcceptApprenticeshipUpdates(viewModel.ApprenticeshipId, request);

                TempData.AddFlashMessageWithDetail(ChangesApprovedMessage, AlertDetailsWhenApproved, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            }
            else
            {
                var request = new RejectApprenticeshipUpdatesRequest
                {
                    ApprenticeshipId = viewModel.ApprenticeshipId,
                    AccountId        = viewModel.AccountId,
                    UserInfo         = authenticationService.UserInfo
                };

                await _commitmentsApiClient.RejectApprenticeshipUpdates(viewModel.ApprenticeshipId, request);

                TempData.AddFlashMessage(ChangesRejectedMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            }

            return(RedirectToAction(nameof(ApprenticeshipDetails), new { viewModel.AccountHashedId, viewModel.ApprenticeshipHashedId }));
        }
        public async Task <IActionResult> ReviewApprenticeshipUpdates([FromServices] IAuthenticationService authenticationService, ReviewApprenticeshipUpdatesViewModel viewModel)
        {
            if (viewModel.ApproveChanges.Value)
            {
                var request = new AcceptApprenticeshipUpdatesRequest
                {
                    ApprenticeshipId = viewModel.ApprenticeshipId,
                    ProviderId       = viewModel.ProviderId,
                    UserInfo         = authenticationService.UserInfo
                };

                await _commitmentsApiClient.AcceptApprenticeshipUpdates(viewModel.ApprenticeshipId, request);

                TempData.AddFlashMessage(ChangesApprovedFlashMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            }
            else if (!viewModel.ApproveChanges.Value)
            {
                var request = new RejectApprenticeshipUpdatesRequest
                {
                    ApprenticeshipId = viewModel.ApprenticeshipId,
                    ProviderId       = viewModel.ProviderId,
                    UserInfo         = authenticationService.UserInfo
                };

                await _commitmentsApiClient.RejectApprenticeshipUpdates(viewModel.ApprenticeshipId, request);

                TempData.AddFlashMessage(ChangesRejectedFlashMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            }

            return(RedirectToRoute(RouteNames.ApprenticeDetail, new { viewModel.ProviderId, viewModel.ApprenticeshipHashedId }));
        }
Esempio n. 3
0
        public async Task <IActionResult> ConfirmStop(ConfirmStopRequestViewModel viewModel)
        {
            if (viewModel.StopConfirmed.HasValue && viewModel.StopConfirmed.Value)
            {
                var stopApprenticeshipRequest = await _modelMapper.Map <StopApprenticeshipRequest>(viewModel);

                await _commitmentsApiClient.StopApprenticeship(viewModel.ApprenticeshipId, stopApprenticeshipRequest, CancellationToken.None);

                if (viewModel.IsCoPJourney)
                {
                    return(RedirectToAction(nameof(ApprenticeshipStoppedInform), new
                    {
                        viewModel.AccountHashedId,
                        viewModel.ApprenticeshipHashedId,
                        StoppedDuringCoP = true
                    }));
                }

                TempData.AddFlashMessage(ApprenticeStoppedMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            }

            return(RedirectToAction(nameof(ApprenticeshipDetails), new ApprenticeshipDetailsRequest {
                AccountHashedId = viewModel.AccountHashedId, ApprenticeshipHashedId = viewModel.ApprenticeshipHashedId
            }));
        }
Esempio n. 4
0
        public async Task <IActionResult> FileUploadStart(FileUploadStartViewModel viewModel)
        {
            var request = await _modelMapper.Map <BulkUploadAddDraftApprenticeshipsRequest>(viewModel);

            await _commitmentApiClient.BulkUploadDraftApprenticeships(viewModel.ProviderId, request);

            TempData.AddFlashMessage("File uploaded", ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            return(RedirectToAction(nameof(Review)));
        }
Esempio n. 5
0
        public async Task <ActionResult> UpdateApprenticeshipStopDate(EditStopDateViewModel viewModel)
        {
            var request = await _modelMapper.Map <ApprenticeshipStopDateRequest>(viewModel);

            await _commitmentsApiClient.UpdateApprenticeshipStopDate(viewModel.ApprenticeshipId, request, CancellationToken.None);

            TempData.AddFlashMessage(ApprenticeEditStopDate, ITempDataDictionaryExtensions.FlashMessageLevel.Success);

            return(RedirectToAction(nameof(ApprenticeshipDetails), new { viewModel.AccountHashedId, viewModel.ApprenticeshipHashedId }));
        }
Esempio n. 6
0
        public async Task <IActionResult> EditEndDate(EditEndDateViewModel viewModel)
        {
            var request = await _modelMapper.Map <CommitmentsV2.Api.Types.Requests.EditEndDateRequest>(viewModel);

            await _commitmentsApiClient.UpdateEndDateOfCompletedRecord(request, CancellationToken.None);

            TempData.AddFlashMessage(ApprenticeEndDateUpdatedOnCompletedRecord, ITempDataDictionaryExtensions.FlashMessageLevel.Success);

            return(RedirectToAction(nameof(ApprenticeshipDetails), new ApprenticeshipDetailsRequest {
                AccountHashedId = viewModel.AccountHashedId, ApprenticeshipHashedId = viewModel.ApprenticeshipHashedId
            }));
        }
Esempio n. 7
0
        public async Task <IActionResult> ApprenticeshipDetails(ApprenticeshipDetailsRequest request)
        {
            var viewModel = await _modelMapper.Map <ApprenticeshipDetailsRequestViewModel>(request);

            viewModel.IsV2Edit = _authorizationService.IsAuthorized(EmployerFeature.EditApprenticeV2);
            if (viewModel.ApprenticeshipStatus == ApprenticeshipStatus.Stopped)
            {
                TempData.AddFlashMessage(ApprenticeStoppedMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            }

            return(View("details", viewModel));
        }
Esempio n. 8
0
        public async Task <IActionResult> ResumeApprenticeship(ResumeRequestViewModel viewModel)
        {
            if (viewModel.ResumeConfirmed.HasValue && viewModel.ResumeConfirmed.Value)
            {
                var resumeRequest = await _modelMapper.Map <ResumeApprenticeshipRequest>(viewModel);

                await _commitmentsApiClient.ResumeApprenticeship(resumeRequest, CancellationToken.None);

                TempData.AddFlashMessage(ApprenticeResumeMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            }

            return(RedirectToAction(nameof(ApprenticeshipDetails), new { viewModel.AccountHashedId, viewModel.ApprenticeshipHashedId }));
        }
        public async Task <IActionResult> DeleteDraftApprenticeship(DeleteDraftApprenticeshipViewModel model)
        {
            if (model.ConfirmDelete.Value)
            {
                var request = await _modelMapper.Map <DeleteDraftApprenticeshipRequest>(model);

                await _commitmentsApiClient.DeleteDraftApprenticeship(model.CohortId.Value, model.DraftApprenticeshipId.Value, request);

                TempData.AddFlashMessage(ApprenticeDeletedMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
                return(await RedirectToCohortDetailsOrCohortsPage(model));
            }

            return(RedirectToOriginForDelete(model.Origin, model.AccountHashedId, model.CohortReference, model.DraftApprenticeshipHashedId));
        }
        public async Task <ActionResult> DeleteConfirmation(DeleteConfirmationViewModel viewModel)
        {
            if (viewModel.DeleteConfirmed != null && !viewModel.DeleteConfirmed.Value)
            {
                return(RedirectToAction("ViewEditDraftApprenticeship", "DraftApprenticeship", new DraftApprenticeshipRequest
                {
                    ProviderId = viewModel.ProviderId,
                    CohortReference = viewModel.CohortReference,
                    DraftApprenticeshipHashedId = viewModel.DraftApprenticeshipHashedId
                }));
            }

            await _commitmentsApiClient.DeleteDraftApprenticeship(viewModel.CohortId, viewModel.DraftApprenticeshipId, new DeleteDraftApprenticeshipRequest(), CancellationToken.None);

            TempData.AddFlashMessage(DraftApprenticeDeleted, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            return(RedirectToAction("Details", "Cohort", new { viewModel.ProviderId, viewModel.CohortReference }));
        }
Esempio n. 11
0
        public async Task <IActionResult> PauseApprenticeship(PauseRequestViewModel viewModel)
        {
            if (viewModel.PauseConfirmed.HasValue && viewModel.PauseConfirmed.Value)
            {
                var pauseRequest = new PauseApprenticeshipRequest {
                    ApprenticeshipId = viewModel.ApprenticeshipId
                };

                await _commitmentsApiClient.PauseApprenticeship(pauseRequest, CancellationToken.None);

                TempData.AddFlashMessage(ApprenticePausedMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            }

            return(RedirectToAction(nameof(ApprenticeshipDetails), new ApprenticeshipDetailsRequest {
                AccountHashedId = viewModel.AccountHashedId, ApprenticeshipHashedId = viewModel.ApprenticeshipHashedId
            }));
        }
Esempio n. 12
0
        public async Task <IActionResult> ViewApprenticeshipUpdates([FromServices] IAuthenticationService authenticationService, ViewApprenticeshipUpdatesViewModel viewModel)
        {
            if (viewModel.UndoChanges.Value)
            {
                var request = new UndoApprenticeshipUpdatesRequest
                {
                    ApprenticeshipId = viewModel.ApprenticeshipId,
                    AccountId        = viewModel.AccountId,
                    UserInfo         = authenticationService.UserInfo
                };

                await _commitmentsApiClient.UndoApprenticeshipUpdates(viewModel.ApprenticeshipId, request);

                TempData.AddFlashMessage(ChangesUndoneMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            }

            return(RedirectToAction(nameof(ApprenticeshipDetails), new { viewModel.AccountHashedId, viewModel.ApprenticeshipHashedId }));
        }
        public async Task <IActionResult> ConfirmEditApprenticeship(ConfirmEditApprenticeshipViewModel viewModel)
        {
            if (viewModel.ConfirmChanges.Value)
            {
                var request = await _modelMapper.Map <EditApprenticeshipApiRequest>(viewModel);

                var result = await _commitmentsApiClient.EditApprenticeship(request);

                if (result.NeedReapproval)
                {
                    TempData.AddFlashMessage(ApprenticeChangesSentToEmployer, ITempDataDictionaryExtensions.FlashMessageLevel.Info);
                }
                else
                {
                    TempData.AddFlashMessage(ApprenticeUpdated, ITempDataDictionaryExtensions.FlashMessageLevel.Info);
                }
            }

            TempData.Remove("EditApprenticeshipRequestViewModel");

            return(RedirectToAction(nameof(Details), new { apprenticeshipHashedId = viewModel.ApprenticeshipHashedId, providerId = viewModel.ProviderId }));
        }
Esempio n. 14
0
        public async Task <IActionResult> ConfirmEditApprenticeship(ConfirmEditApprenticeshipViewModel viewModel)
        {
            if (viewModel.ConfirmChanges.Value)
            {
                var request = await _modelMapper.Map <EditApprenticeshipApiRequest>(viewModel);

                var result = await _commitmentsApiClient.EditApprenticeship(request);

                if (result.NeedReapproval)
                {
                    TempData.AddFlashMessage(ApprenticeUpdated, $"Your suggested changes have been sent to {viewModel.ProviderName} for approval.", ITempDataDictionaryExtensions.FlashMessageLevel.Success);
                }
                else
                {
                    TempData.AddFlashMessage(ApprenticeUpdated, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
                }
            }

            TempData.Remove("EditApprenticeshipRequestViewModel");

            return(RedirectToAction(nameof(ApprenticeshipDetails), new { viewModel.AccountHashedId, viewModel.ApprenticeshipHashedId }));
        }
 protected void AddUserMessage(UserMessage message)
 {
     TempData.AddFlashMessage(message);
 }