public Task HandleAsync(CreateEvent @event)
        {
            _repository.add(new Event(@event.Name, @event.Description));
            var eventCreated = new EventCreated(@event.Name, @event.Description);

            Console.WriteLine($"Recived CreateEvent command: {@event.Name} {@event.Description}");
            _clientBus.PublishAsync(eventCreated, default(Guid),
                                    cfg => cfg.WithExchange(ex => ex.WithName("Events")).WithRoutingKey("eventcreated.#"));

            return(Task.CompletedTask);
        }
예제 #2
0
 protected void Apply(EventCreated e)
 {
     lastModified = e.CreationDate;
 }
예제 #3
0
 protected void ApplyButDoNotCommit(IEvent evt)
 {
     Apply(evt);
     _uncommittedEvents.Add(evt);
     EventCreated?.Invoke(this, evt);
 }
 public async Task Publish(EventCreated eventCreated)
 {
     await _bus.Publish(new CalculateCommand { Id = 3 });
 }