public async Task <IActionResult> UploadAssessmentsFileAsync(UploadAssessmentsRequestViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            viewModel.AoUkprn = User.GetUkPrn();
            var response = await _assessmentLoader.ProcessBulkAssessmentsAsync(viewModel);

            if (response.IsSuccess)
            {
                var successfulViewModel = new UploadSuccessfulViewModel {
                    Stats = response.Stats
                };
                await _cacheService.SetAsync(string.Concat(CacheKey, Constants.AssessmentsUploadSuccessfulViewModel), successfulViewModel, CacheExpiryTime.XSmall);

                return(RedirectToRoute(RouteConstants.AssessmentsUploadSuccessful));
            }

            if (response.ShowProblemWithServicePage)
            {
                return(RedirectToRoute(RouteConstants.ProblemWithAssessmentsUpload));
            }

            var unsuccessfulViewModel = new UploadUnsuccessfulViewModel
            {
                BlobUniqueReference = response.BlobUniqueReference,
                FileSize            = response.ErrorFileSize,
                FileType            = FileType.Csv.ToString().ToUpperInvariant()
            };

            await _cacheService.SetAsync(string.Concat(CacheKey, Constants.UploadUnsuccessfulViewModel), unsuccessfulViewModel, CacheExpiryTime.XSmall);

            return(RedirectToRoute(RouteConstants.AssessmentsUploadUnsuccessful));
        }
示例#2
0
 public async override Task When()
 {
     ActualResult = await Loader.ProcessBulkAssessmentsAsync(UploadAssessmentsRequestViewModel);
 }