public Document(IFormFile FileForUpload, DateTime uploadDate) { Filename = FileForUpload.FileName; LoadDate = uploadDate; if (FileForUpload.ContentType.Contains("pdf")) { Contents = ReadPdfDocument(FileForUpload); } else if (FileForUpload.ContentType.Contains("openxml")) { Contents = ReadWordDocument(FileForUpload); } else if (FileForUpload.ContentType.Contains("image")) { Contents = ReadImageDocument(FileForUpload); } else { Contents = ReadTextDocument(FileForUpload); } ContentCharacterizer characterizer = ContentCharacterizer.GetInstance(); Type = characterizer.GetDocumentType(Contents); IssueDate = characterizer.GetIssuingDate(Contents); List <string> companyNames = characterizer.GetCompanyNames(Contents); NamedCompanies = characterizer.GetConcatenatedNames(companyNames); List <string> namedParts = characterizer.GetNames(Contents); foreach (string companyName in companyNames) { namedParts.Remove(companyName); } NamedParts = characterizer.GetConcatenatedNames(namedParts); NotaryName = characterizer.GetNotary(Contents); PersonIDs = characterizer.GetConcatenatedIDs(Contents); if (String.IsNullOrEmpty(PersonIDs)) { PersonIDs = "(No se detectaron)"; } SuccessfullyProcessed = (Contents.StartsWith("Failed to ") ? false: true); }