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