private void Handle(Command command, NachbestellungBeauftragen aktion)
 {
     var repo = new ProduktRepository(aktion.ProduktId, _eventStore);
     var produkt = repo.Retrieve();
     produkt.Nachbestellen(aktion.BestellteMenge);
     repo.Commit();
 }
Пример #2
0
        private void Handle(CommandEnvelope commandEnvelope, NachbestellungBeauftragen aktion, UnitOfWork unitOfWork)
        {
            if (aktion.BestellteMenge<=0) throw new VorgangNichtAusgefuehrt("Menge muss angegeben werden");

            var repo = new LagerbestandRepository(unitOfWork);
            var liste = repo.Retrieve(aktion.LagerId, aktion.ProduktId);
            var alt = 0;
            if (liste.Bestand.Count == 0)
            {
                repo.Insert(aktion.LagerId, aktion.ProduktId);
            }
            else
            {
                alt = liste.Bestand.Single().MengeImZulauf;
            }

            repo.Set_Zulauf(aktion.LagerId, aktion.ProduktId, alt + aktion.BestellteMenge);
        }
 private void Handle(CommandEnvelope commandEnvelope, NachbestellungBeauftragen aktion, UnitOfWork unitOfWork)
 {
     var lager = new LagerRepository(unitOfWork).Retrieve(aktion.LagerId, aktion.ProduktId);
     lager.Nachbestellen(aktion.BestellteMenge);
 }