public void Apply(BookStoreUpdatedEvent @event)
 {
     Name             = @event.Name;
     Address.Country  = @event.Address.Country;
     Address.City     = @event.Address.City;
     Address.Street   = @event.Address.Street;
     Address.Building = @event.Address.Building;
 }
        private async Task Apply(BookStoreUpdatedEvent @event, long version)
        {
            using (var db = new ApplicationDbContext(Configuration.ConnectionString))
            {
                await UpdateStreamVersion(db, version);
                await UpdateBookStore(db, @event);

                await db.SaveChangesAsync();
            }
        }
Example #3
0
        public async Task Update(UpdateBookStoreCommand cmd)
        {
            var @event = new BookStoreUpdatedEvent(
                cmd.Id,
                cmd.Name,
                new AddressEventData(cmd.Address.Country, cmd.Address.City, cmd.Address.Street, cmd.Address.Building));

            RaiseEvent(@event);
            await ConfirmEvents();
        }
        private async Task UpdateBookStore(ApplicationDbContext db, BookStoreUpdatedEvent @event)
        {
            _log.Debug($"Updating book store entity {@event.Id}");

            var bookStore = await db.BookStores.FindAsync(@event.Id);

            bookStore.Name    = @event.Name;
            bookStore.Address = JsonConvert.SerializeObject(@event.Address);

            db.Update(bookStore);
        }