Ejemplo n.º 1
0
 public override void Given()
 {
     BlobUniqueReference         = Guid.NewGuid();
     UploadUnsuccessfulViewModel = new UploadUnsuccessfulViewModel {
         BlobUniqueReference = BlobUniqueReference, FileSize = 1.7, FileType = FileType.Csv.ToString().ToUpperInvariant()
     };
     CacheService.GetAndRemoveAsync <UploadUnsuccessfulViewModel>(Arg.Any <string>()).Returns(UploadUnsuccessfulViewModel);
 }
        public async Task <IActionResult> UploadResultsFileAsync(UploadResultsRequestViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            viewModel.AoUkprn = User.GetUkPrn();
            var response = await _resultLoader.ProcessBulkResultsAsync(viewModel);

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

                return(RedirectToRoute(RouteConstants.ResultsUploadSuccessful));
            }

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

            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.ResultsUploadUnsuccessful));
        }