public async Task <ApiResponse <BulkUpdateProgressModel> > BulkUpdateAsync(BulkUpdateDto bulkUpdateInfo, IPrincipal principal) { var overrideCRFlag = bulkUpdateInfo.OverrideCRProcess ? "?overridecr=true" : string.Empty; return(await _httpClient.PostMultipartAsync <BulkUpdateProgressModel>("establishment/bulk-update" + overrideCRFlag, bulkUpdateInfo, bulkUpdateInfo.FileName, principal)); }
public async Task <IActionResult> BulkContents(string app, string name, [FromBody] BulkUpdateDto request) { var command = request.ToCommand(); var context = await CommandBus.PublishAsync(command); var result = context.Result <BulkUpdateResult>(); var response = result.Select(x => BulkResultDto.FromImportResult(x, HttpContext)).ToArray(); return(Ok(response)); }
public async Task <ActionResult> ProcessBulkUpdate(BulkUpdateViewModel viewModel) { viewModel.CanOverrideCRProcess = User.IsInRole(R.ROLE_BACKOFFICE); if (ModelState.IsValid) { var fileName = FileHelper.GetTempFileName(Path.GetExtension(viewModel.BulkFile.FileName)); viewModel.BulkFile.SaveAs(fileName); if (new FileInfo(fileName).Length > 1000000) { viewModel.Result = new Services.Domain.BulkUpdateProgressModel { Errors = new[] { new Services.Domain.ApiError { Code = "error.maxRowsLimitReached.payload.bulkUpload" } } }; } else { var payload = new BulkUpdateDto { BulkFileType = viewModel.BulkUpdateType.Value, FileName = fileName, OverrideCRProcess = viewModel.CanOverrideCRProcess && viewModel.OverrideCRProcess }; var state = UriHelper.SerializeToUrlToken(payload); var response = await _establishmentWriteService.BulkUpdateAsync(payload, User); System.IO.File.Delete(fileName); if (response.HasErrors) { viewModel.Result = new Services.Domain.BulkUpdateProgressModel { Errors = response.Errors }; } else { return(RedirectToAction(nameof(Result), new { response.GetResponse().Id, state })); } } } return(View("Index", viewModel)); }
public async Task <ActionResult> ProcessBulkUpdate(BulkUpdateViewModel viewModel) { viewModel.CanOverrideCRProcess = User.IsInRole(AuthorizedRoles.IsAdmin); if (ModelState.IsValid) { var fileName = FileHelper.GetTempFileName(Path.GetExtension(viewModel.BulkFile.FileName)); viewModel.BulkFile.SaveAs(fileName); if (new FileInfo(fileName).Length > 1000000) { ModelState.AddModelError("BulkFile", "The file size is too large. Please use a file size smaller than 1MB"); } else { var payload = new BulkUpdateDto { BulkFileType = viewModel.BulkUpdateType.Value, FileName = fileName, OverrideCRProcess = viewModel.CanOverrideCRProcess && viewModel.OverrideCRProcess }; var state = UriHelper.SerializeToUrlToken(payload); var response = await _establishmentWriteService.BulkUpdateAsync(payload, User); System.IO.File.Delete(fileName); if (response.HasErrors) { viewModel.Result = new Services.Domain.BulkUpdateProgressModel { Errors = response.Errors }; } else { return(RedirectToAction(nameof(Result), new { response.GetResponse().Id, state })); } } } return(View("Index", viewModel)); }