public async Task Initialize(InitializeBookStoreCommand cmd) { var @event = new BookStoreInitializedEvent( cmd.Id, cmd.Name, new AddressEventData(cmd.Address.Country, cmd.Address.City, cmd.Address.Street, cmd.Address.Building)); RaiseEvent(@event); await ConfirmEvents(); }
public async Task <Guid> Post([FromBody] InitializeBookStoreRequest request) { var bookStoreId = Guid.NewGuid(); var cmd = new InitializeBookStoreCommand { Id = bookStoreId, Name = request.Name, Address = new AddressCommandData { Country = request.Address.Country, City = request.Address.City, Street = request.Address.Street, Building = request.Address.Building } }; var bookStore = _client.GetGrain <IBookStoreGrain>(cmd.Id); await bookStore.Initialize(cmd); return(bookStoreId); }