private void Handle(Command command, WareneingangVerbuchen aktion)
 {
     var repo = new ProduktRepository(aktion.ProduktId, _eventStore);
     var produkt = repo.Retrieve();
     produkt.Wareneingang();
     repo.Commit();
 }
Пример #2
0
        private void Handle(CommandEnvelope commandEnvelope, WareneingangVerbuchen aktion, UnitOfWork unitOfWork)
        {
            var repo = new LagerbestandRepository(unitOfWork);
            var liste = repo.Retrieve(aktion.LagerId, aktion.ProduktId);
            if (liste.Bestand.Count == 0) throw new VorgangNichtAusgefuehrt("Wareneingang ohne Bestellung, das darf nicht sein...");

            var posten = liste.Bestand.Single();
            if (posten.MengeImZulauf == 0) throw new VorgangNichtAusgefuehrt("Wareneingang ohne Bestellung, das darf nicht sein...");

            repo.Set_Zulauf(aktion.LagerId, aktion.ProduktId, 0);
            repo.Set_Bestand(aktion.LagerId, aktion.ProduktId, posten.LagerBestand + posten.MengeImZulauf);
        }
 private void Handle(CommandEnvelope commandEnvelope, WareneingangVerbuchen aktion, UnitOfWork unitOfWork)
 {
     var produkt = new LagerRepository(unitOfWork).Retrieve(aktion.LagerId, aktion.ProduktId);
     produkt.Wareneingang();
 }