internal void AddFruit(IFruit fruit) { IDomainEvent ev; if (fruit is Apple) { ev = new AppleAddedEvent(fruit.Id, fruit.Weight, fruit.FruitCondition); } else if (fruit is Pear) { ev = new PearAddedEvent(fruit.Id, fruit.Weight, fruit.FruitCondition); } else { ev = new UnknownFruitAddedEvent(fruit.Id, fruit.Weight, fruit.FruitCondition); } _events.Add(ev); Apply((dynamic)ev); }
private void Apply(PearAddedEvent e) { _things.Add(new Pear(e.Id, e.Weight, e.FruitCondition)); }
private void Apply(PearAddedEvent e) { _things["pears"].Add(e.Id); _weights.Add(e.Id, e.Weight); }