Exemple #1
0
        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);
        }