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