Exemplo n.º 1
0
        public async Task SetProductOnSale(Guid productId, DateTime?from, DateTime?to)
        {
            try
            {
                var product = await Repository.GetByKeyAsync <Product>(productId);

                if (from == null)
                {
                    product.SetOnSale();
                }
                else if (to == null)
                {
                    product.SetOnSale((DateTime)from);
                }
                else
                {
                    product.SetOnSale((DateTime)from, (DateTime)to);
                }

                await Repository.SaveChangesAsync();

                var @event = new ProductSetOnSaleEvent(productId);
                EventBus.RaiseEvent(@event);
            }
            catch
            {
                throw;
            }
        }
Exemplo n.º 2
0
 public void Handle(ProductSetOnSaleEvent @event)
 {
     try
     {
         EventStore.Save(@event);
     }
     catch
     {
         throw;
     }
 }