private void Handle(Command command, KundeErfassen aktion) { var repo = new KundeRepository(aktion.KundenId, _eventStore); var kunde = repo.Retrieve(); kunde.Erfassen(aktion.Name, aktion.Anschrift); repo.Commit(); }
private void Handle(Command command, AnschriftAendern aktion) { var repo = new KundeRepository(aktion.KundenId, _eventStore); var kunde = repo.Retrieve(); kunde.AnschriftAendern(aktion.NeueAnschrift); repo.Commit(); }
private void Handle(Command command, AuftragErfassen aktion) { var repo = new AuftragRepository(aktion.AuftragsId, _eventStore); var auftrag = repo.Retrieve(); var produktrepo = new ProduktRepository(aktion.Produkt, _eventStore); var kunderepo = new KundeRepository(aktion.Kunde, _eventStore); auftrag.Erfassen(produktrepo.Retrieve(), aktion.Menge, kunderepo.Retrieve()); produktrepo.Commit(); repo.Commit(); }
private void Handle(CommandEnvelope commandEnvelope, WarenkorbBestellen aktion, UnitOfWork unitOfWork) { var warenkorb = new WarenkorbRepository(unitOfWork).Retrieve(aktion.Warenkorb); var auftrags_repo = new AuftragRepository(unitOfWork); var produkt_repo = new ProduktRepository(unitOfWork); var kunde_repo = new KundeRepository(unitOfWork); warenkorb.Bestellen((produkt, menge, kunde) => { var id = Guid.NewGuid(); var auftrag = auftrags_repo.Retrieve(id); auftrag.Erfassen(id, produkt, menge, kunde_repo.Retrieve(kunde)); }); }