private void Apply(ClienteAtualizadoEvent e)
 {
     Version   = e.Version++;
     nome      = e.Nome;
     idade     = e.Idade;
     telefones = e.Telefones;
 }
        public async void Handle(IEvent @event)
        {
            ClienteAtualizadoEvent customerUpdatedEvent = (ClienteAtualizadoEvent)@event;

            ClienteMongo customer = await readModelRepository.GetCustomer(@event.Id);

            await readModelRepository.Update(new ClienteMongo()
            {
                Id        = customerUpdatedEvent.Id,
                Email     = customer.Email,
                Nome      = customerUpdatedEvent.Nome != null ? customerUpdatedEvent.Nome : customer.Nome,
                Idade     = customerUpdatedEvent.Idade != 0 ? customerUpdatedEvent.Idade : customer.Idade,
                Telefones = customerUpdatedEvent.Telefones != null ? customerUpdatedEvent.Telefones.Select(x =>
                                                                                                           new TelefoneMongo()
                {
                    Type     = x.Type,
                    AreaCode = x.AreaCode,
                    Number   = x.Number
                }).ToList() : customer.Telefones
            });

            logger.Info("A new CustomerUpdatedEvent has been processed: {0} ({1})", customerUpdatedEvent.Id, customerUpdatedEvent.Version);
        }
 public void Handle(ClienteAtualizadoEvent notification)
 {
 }
Example #4
0
 public Task Handle(ClienteAtualizadoEvent notification, CancellationToken cancellationToken)
 {
     return(Task.CompletedTask);
 }