public void Handle(EntityCreatedEvent <FileEntry> domainEvent) { using (var scope = _serviceProvider.CreateScope()) { var auditSerivce = scope.ServiceProvider.GetService <IAuditLogService>(); var currentUser = scope.ServiceProvider.GetService <ICurrentUser>(); auditSerivce.AddOrUpdate(new AuditLogEntryDTO { UserId = currentUser.IsAuthenticated ? currentUser.UserId : Guid.Empty, CreatedDateTime = domainEvent.EventDateTime, Action = "CREATED_FILEENTRY", ObjectId = domainEvent.Entity.Id.ToString(), Log = domainEvent.Entity.AsJsonString(), }); IMessageBusSender <FileUploadedEvent> fileUploadedEventSender = scope.ServiceProvider.GetService <IMessageBusSender <FileUploadedEvent> >(); // Forward to external systems fileUploadedEventSender.Send(new FileUploadedEvent { FileEntry = domainEvent.Entity, }); } }
public HttpContextHandler(IThreadtailHttpContext context, IMessageBusSender messageBus, IUrlBuilder urlBuilder) { _context = context; _messageBus = messageBus; _urlBuilder = urlBuilder; }