예제 #1
0
        public void Erfassen(Guid auftrag, Guid produkt, int menge, Kunde kunde)
        {
            if (_zustand.Erfasst) return;
            if (menge<1) throw new VorgangNichtAusgefuehrt("Die Bestellmenge muß > 0 sein");

            kunde.AuftragsannahmePruefen();
            WurdeErfasst(auftrag, produkt, menge, kunde.Id);
        }
예제 #2
0
        public void Erfassen(Produkt produkt, int menge, Kunde kunde)
        {
            if (_zustand.Erfasst) return;
            if (menge<1) throw new VorgangNichtAusgefuehrt("Die Bestellmenge muß > 0 sein");

            kunde.AuftragsannahmePruefen();
            if (!produkt.AuftragsannahmePruefen(menge)) throw new VorgangNichtAusgefuehrt("Die Bestellung überschreitet den verfügbaren Bestand.");

            produkt.FuerAuftragReservieren(menge);

            WurdeErfasst(produkt.Id, menge, kunde.Id);
        }