public void Handle(ProductUnitInStockChangedEvent @event) { try { EventStore.Save(@event); } catch { throw; } }
public async Task RemoveUnitInStockFromProduct(Guid productId, int unitToRemove) { try { var product = await Repository.GetByKeyAsync <Product>(productId); product.RemoveUnitFromStock(unitToRemove); await Repository.SaveChangesAsync(); var @event = new ProductUnitInStockChangedEvent(productId, product.UnitInStock); EventBus.RaiseEvent(@event); } catch { throw; } }