Beispiel #1
0
        public async Task <IActionResult> BulkRegistrationsAsync(RegistrationsFileViewModel model)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();

            watch.Start();

            if (!ModelState.IsValid)
            {
                return(View("Upload", model));
            }

            var fileName = $"inputfile_{DateTime.Now.Ticks}.csv";

            var bulkRegistrationRequest = new BulkRegistrationRequest
            {
                performedBy       = "*****@*****.**",
                Ukprn             = 10009696, // NCFE
                BlobReferencePath = fileName
            };

            using (var fileStream = model.RegistrationFile.OpenReadStream())
            {
                await _blobStorageService.UploadFileAsync(_configuration.BlobStorageConnectionString, "registrations", $"{bulkRegistrationRequest.Ukprn}/processing/{fileName}", fileStream);
            }
            ////await _blobStorageService.MoveFileAsync(_configuration.BlobStorageConnectionString, "registrations", "1000008/processing/inputfile.csv", "1000008/processed/inputfile.csv");

            var results = await _internalApiClient.ProcessBulkRegistrationsAsync(bulkRegistrationRequest);

            //var results = await _internalApiClient.ProcessBulkRegistrationsAsync(model.RegistrationFile);

            watch.Stop();

            // Temp code for validation
            ViewBag.ElapsedTime = watch.ElapsedMilliseconds;
            //TempData[ValidationErrors] = JsonConvert.SerializeObject(results.ValidationErrors);

            TempData[ValidationErrors] = Convert.ToBase64String(results.ErrorFileBytes);
            return(View());
        }
Beispiel #2
0
        public IActionResult UploadAsync()
        {
            var model = new RegistrationsFileViewModel();

            return(View(model));
        }