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,
                });
            }
        }
Esempio n. 2
0
 public HttpContextHandler(IThreadtailHttpContext context, IMessageBusSender messageBus, IUrlBuilder urlBuilder)
 {
     _context = context;
     _messageBus = messageBus;
     _urlBuilder = urlBuilder;
 }