public async Task <ActionResult <IdentityNumberListModel> > ValidateInputAsync([FromBody] List <string> identityNumbers) { if (identityNumbers == null) { return(BadRequest($"{nameof(identityNumbers)} is invalid")); } var(validIdentityNumbers, invalidIdentityNumbers) = await _identityNumberService.ValidateAsync(identityNumbers); var model = new IdentityNumberListModel { ValidIdentityNumbers = validIdentityNumbers, InvalidIdentityNumbers = invalidIdentityNumbers }; return(Ok(model)); }
public async Task <ActionResult <IdentityNumberListModel> > ValidateUploadFilesAsync(List <IFormFile> files) { if (files == null) { return(BadRequest($"{nameof(files)} is invalid")); } var fileSizeLimit = _configuration.GetValue("UploadFileSizeLimitInMb", long.MaxValue); var totalUploadFilesSize = files.Sum(formFile => Math.Round(formFile.Length / 1000000d, 2)); var identityNumbers = new List <string>(); if (totalUploadFilesSize > fileSizeLimit) { return(BadRequest( $"Total files size of {totalUploadFilesSize} MB exceeds allowed limit of {fileSizeLimit} MB")); } foreach (var formFile in files) { identityNumbers.AddRange(await formFile.ReadLinesAsync()); } if (FileHelpers.HasBinaryContent(string.Join("", identityNumbers))) { return(BadRequest("Uploaded file(s) not valid text file(s)")); } var(validIdentityNumbers, invalidIdentityNumbers) = await _identityNumberService.ValidateAsync(identityNumbers); var model = new IdentityNumberListModel { ValidIdentityNumbers = validIdentityNumbers, InvalidIdentityNumbers = invalidIdentityNumbers }; return(Ok(model)); }