public WarehouseAggregate(Guid id, string name, IEnumerable <WarehouseItem> items) { var @event = new WarehouseCreated { WarehouseId = id, Name = name }; Apply(@event); Append(@event); items.ToList().ForEach(it => AddItem(it.ProductId, it.Quantity)); }
public void Handle(WarehouseCreated message) { if (IsExist <WarehouseReadView>(message.WarehouseId)) { return; } db.WarehouseReadViews.Add(new WarehouseReadView { Name = message.Name, Id = message.WarehouseId }); db.SaveChanges(); }
public void Apply(WarehouseCreated @event) { Id = @event.WarehouseId; Name = @event.Name; }