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);
     }
 }
Exemple #2
0
 public void HandleUploadedSalesFile(IFormFile formFile, DateTime uploadedDateTime)
 {
     try
     {
         SalesFileFactory salesFileFactory = new SalesFileFactory();
         var salesFile = salesFileFactory.CreateSalesFile(formFile, uploadedDateTime);
         _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);
     }
 }
Exemple #3
0
        public void SendNewFileUploadedEvent(NewFileUploadedEvent newFileUploadedEvent)
        {
            try
            {
                IConfigurationSection configSection = _configuration.GetSection("Messaging");;
                var factory = CreateConnectionFactory(configSection);
                using (var connection = factory.CreateConnection())
                    using (var channel = connection.CreateModel())
                    {
                        string message = JsonSerializer.Serialize(newFileUploadedEvent);
                        var    body    = Encoding.UTF8.GetBytes(message);

                        channel.BasicPublish(exchange: "", routingKey: configSection.GetSection("RoutingKey").Value, basicProperties: null, body: body);
                        Console.WriteLine(" [x] Sent {0}", message);
                    }
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Error in messaging", ex);
            }
        }