public Lagerposten(Guid lager, Guid produkt, LagerProjektion zustand, Action<Ereignis> eventsink) : base(eventsink) { _lager = lager; Produkt = produkt; _zustand = zustand; }
private LagerbestandInfo LagerbestandInfo(Guid lager, Guid produkt, LagerProjektion projektor) { return new LagerbestandInfo() { Lager = lager, Produkt = produkt, Produktbezeichnung = _joinProdukte(produkt).Bezeichnung, LagerBestand = projektor.Lagerbestand(produkt), Nachbestellt = projektor.Nachbestellt(produkt), MengeImZulauf = projektor.MengeImZulauf(produkt), AutomatischeNachbestellungen = projektor.AutomatischeNachbestellungen(produkt) }; }
public List<LagerbestandInfo> Alle(Guid lager, List<Guid> produktIDs) { var history = _history(lager).ToList(); var projektor = new LagerProjektion(() => history); return produktIDs.Select(produkt => LagerbestandInfo(lager, produkt, projektor)).ToList(); }
public LagerbestandInfo Access(Guid lager, Guid produkt) { var history = _history(lager).ToList(); var projektor = new LagerProjektion(() => history); return LagerbestandInfo(lager, produkt, projektor); }