private Produktliste Handle(QueryEnvelope queryEnvelope, ProduktlisteAbfrage abfrage) { using (var db = ReadAccess()) { return new ProduktRepository(db).Retrieve(); } }
private Kundenliste Handle(QueryEnvelope queryEnvelope, KundenlisteAbfrage abfrage) { using (var db = ReadAccess()) { return new KundenRepository(db).Retrieve(); } }
private Kundenliste Handle(QueryEnvelope queryEnvelope, KundenlisteAbfrage abfrage) { return new Kundenliste { Kunden = KundenProjektion.AlleIDs(_eventStore.History) .Select(_kunden.Access).ToList() }; }
private Bestellungenliste Handle(QueryEnvelope queryEnvelope, OffeneBestellungenAbfrage abfrage) { var result = new Bestellungenliste { Bestellungen = AuftragProjektion.AlleIDs(_eventStore.History).Select(_auftraege.Access).Where(_=>!_.Erfuellt).ToList() }; foreach (var bestellung in result.Bestellungen) { bestellung.Kundenname = _kunden.Access(bestellung.Kunde).Name; bestellung.Produktname = _produkte.ProduktInfoLesen(bestellung.Produkt).Bezeichnung; } return result; }
private ProduktlisteEx Handle(QueryEnvelope queryEnvelope, ProduktlisteExAbfrage abfrage) { var produkte = AlleProduktInfos() .Select(_ => new ProduktInfoEx { Id = _.Id, Bezeichnung = _.Bezeichnung, Verfuegbar = _lagerbestand.Verfuegbar_fuer(_.Id) - _auftraege.OffeneMenge_fuer(_.Id), LagerBestand = _lagerbestand.LagerBestand_fuer(_.Id) }) .ToList(); return new ProduktlisteEx { Produkte = produkte }; }
/* private ProduktlisteEx Handle(QueryEnvelope queryEnvelope, ProduktlisteExAbfrage abfrage) { using (var db = ReadAccess()) { var lagerbestand = new LagerbestandRepository(db).RetrieveAlleStandorte() .Bestand.GroupBy(_=>_.Produkt).ToDictionary(_=>_.Key, _=> new { Bestand = _.Sum(x=>x.LagerBestand), Zulauf = _.Sum(x => x.MengeImZulauf) }); return new ProduktlisteEx {Produkte = new ProduktRepository(db).Retrieve().Produkte.Select( p => new ProduktInfoEx { Id = p.Id, Bezeichnung = p.Bezeichnung, LagerBestand = lagerbestand.ContainsKey(p.Id) ? lagerbestand[p.Id].Bestand : 0, Verfuegbar = lagerbestand.ContainsKey(p.Id) ? lagerbestand[p.Id].Bestand+lagerbestand[p.Id].Zulauf : 0, } ).ToList()}; } }*/ private ProduktlisteEx Handle(QueryEnvelope queryEnvelope, ProduktlisteExAbfrage abfrage) { using (var db = ReadAccess()) { return new ProduktlisteEx { Produkte = db.Query( @"SELECT [Id], [Bezeichnung], [bestand], [verfuegbar] from [produkteex]", null, dr => new ProduktInfoEx { Id = dr.GetGuid(0), Bezeichnung = dr.GetString(1), LagerBestand = dr.GetInt32(2), Verfuegbar = dr.GetInt32(3) } ).ToList() }; } }
private Lagerbestandsliste Handle(QueryEnvelope queryEnvelope, LagerbestandsAbfrage abfrage) { using (var db = ReadAccess()) { return new LagerbestandRepository(db).Retrieve(abfrage.LagerId); } }
private WarenkorbInfo Handle(QueryEnvelope queryEnvelope, WarenkorbAbfrage abfrage) { throw new NotImplementedException(); }
private Protokoll Handle(QueryEnvelope queryEnvelope, ProtokollAbfrage abfrage) { return new Protokoll { Eintraege = new List<Eintrag>() }; }
private Bestellungenliste Handle(QueryEnvelope queryEnvelope, OffeneBestellungenAbfrage abfrage) { throw new NotImplementedException(); }
private Protokoll Handle(QueryEnvelope queryEnvelope, ProtokollAbfrage abfrage) { return new Protokoll { Eintraege = _eventStore.History.Select(_ => new Eintrag {Info = _.Zeitpunkt.ToString("dd HH:mm:ss.fff ") + Alias(_.ToString())}) .Reverse().ToList() }; }
private Lagerbestandsliste Handle(QueryEnvelope queryEnvelope, LagerbestandsAbfrage abfrage) { return new Lagerbestandsliste { Bestand = _lagerbestand.Alle(abfrage.LagerId, ProduktProjektion.AlleIDs(_eventStore.History).ToList()) }; }
private Produktliste Handle(QueryEnvelope queryEnvelope, ProduktlisteAbfrage abfrage) { return new Produktliste { Produkte = AlleProduktInfos() }; }
private WarenkorbInfo Handle(QueryEnvelope queryEnvelope, WarenkorbAbfrage abfrage) { var aktueller_warenkorb = _kunden.Access(abfrage.Kunde).Warenkorb; var wk = _warenkoerbe.Access(aktueller_warenkorb); return wk; }