private void NeuePosition(Einkaufsposition position)
 {
     if (position.Einkauf == Einkauf)
     {
         Positionenliste.AddObject(position);
     }
 }
 private void PositionVerändert(Einkaufsposition position)
 {
     if (position.Einkauf == Einkauf)
     {
         Positionenliste.RefreshObject(position);
     }
 }
Beispiel #3
0
        public void BearbeitePosition(Einkaufsposition position)
        {
            if (!Einkaufsteuerung.IstLöschbar(position.Einkauf))
            {
                throw new InvalidOperationException("Die Position dieses Einkaufs kann nicht mehr bearbeitet werden.");
            }

            Kontext.SaveChanges();
            EinkaufspositionVerändert?.Invoke(position);
        }
Beispiel #4
0
        public void LöschePosition(Einkaufsposition position, bool erzwinge = false)
        {
            if (!erzwinge && !Einkaufsteuerung.IstLöschbar(position.Einkauf))
            {
                throw new InvalidOperationException("Aus diesem Einkauf kann keine Position mehr gelöscht werden.");
            }

            Kontext.Einkaufspositionen.Remove(position); // Nebeneffekt: Wird aus Einkauf gelöscht
            Kontext.SaveChanges();
            EinkaufspositionGelöscht?.Invoke(position);
        }
        private void NeuePositionKnopf_Click(object sender, EventArgs e)
        {
            if (Einkauf == null)
            {
                return;
            }

            int anzahl = (int)AnzahlBox.Value;

            var position = new Einkaufsposition
            {
                Kastengröße  = ProduktBox.Kastengröße,
                AnzahlKästen = anzahl
            };

            positionssteuerung.NeuePosition(position, Einkauf);
        }
Beispiel #6
0
        public void NeuePosition(Einkaufsposition position, Einkauf einkauf)
        {
            if (!Einkaufsteuerung.IstLöschbar(einkauf))
            {
                throw new InvalidOperationException("Zu diesem Einkauf kann keine Position mehr hinzugefügt werden.");
            }

            position.Einkauf = einkauf;
            einkauf.Positionen.Add(position);
            if (einkauf.Abrechnung != null && !einkauf.Abrechnung.Produkte.Contains(position.Kastengröße.Produkt))
            {
                Abrechnungssteuerung.FügeHinzu(einkauf.Abrechnung, position.Kastengröße.Produkt);
            }

            Kontext.SaveChanges();
            EinkaufspositionHinzugefügt?.Invoke(position);
        }
 private void PositionGelöscht(Einkaufsposition position)
 {
     // if (position.Einkauf == Einkauf)
     // position ist schon null
     Positionenliste.RemoveObject(position);
 }