Пример #1
0
 public UploadedSalesFile(string fileContent, DateTime uploadedDateTime, string fileName,
                          ISalesFileValidator salesFileValidator, SalesFileType salesFileType)
 {
     FileContent         = fileContent ?? throw new ArgumentNullException(nameof(fileContent));
     UploadedDateTime    = uploadedDateTime;
     FileName            = fileName ?? throw new ArgumentNullException(nameof(fileName));
     _salesFileValidator = salesFileValidator ?? throw new ArgumentNullException(nameof(salesFileValidator));
     SalesFileType       = salesFileType;
     BasicValidation();
     Validate();
 }
 public CSVFileTest()
 {
     using (var sr = new StreamReader("Dealertrack-CSV-Example.csv"))
     {
         // Read the stream as a string, and write the string to the console.
         _csvSaleString = sr.ReadToEnd();
     }
     _fileName          = $"{DateTime.UtcNow}.csv";
     _uploadDateTime    = DateTime.UtcNow;
     salesFileValidator = new CSVSalesFileValidator();
     uploadedSalesFile  = new UploadedSalesFile(_csvSaleString, _uploadDateTime, _fileName, salesFileValidator, SalesFileType.CSV);
 }
 public void HandleUploadedSalesFile(IFormFile formFile, DateTime uploadedDateTime, ISalesFileValidator salesFileValidator, SalesFileType salesFileType)
 {
     try
     {
         string fileContent = ReadContentFromIFormFile(formFile);
         var    SalesFile   = new UploadedSalesFile(fileContent, uploadedDateTime, GenerateFileName(uploadedDateTime), salesFileValidator, salesFileType);
         _fileRepository.InsertFileContent(SalesFile);
         NewFileUploadedEvent newFileUploadedEvent = new NewFileUploadedEvent(SalesFile.FileName, SalesFile.UploadedDateTime);
         _newUploadedFileEventHandler.SendNewFileUploadedEvent(newFileUploadedEvent);
     }
     catch (Exception ex)
     {
         throw new ApplicationException("Could not save file or send message", ex);
     }
 }