Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
0
 public void SetzeAktiv(ICollection <Benutzer> benutzer, bool aktiv)
 {
     foreach (var b in benutzer)
     {
         b.Aktiv = aktiv;
     }
     Kontext.SaveChanges();
     foreach (var b in benutzer)
     {
         BenutzerVerändert?.Invoke(b);
     }
 }
        internal void NeuesVerkaufsprodukt(Abrechnung abrechnung, Verkaufsprodukt verkaufsprodukt)
        {
            if (abrechnung.Gebucht)
            {
                throw new InvalidOperationException("Zu gebuchten Abrechnungen können keine Bestände mehr hinzugefügt werden.");
            }

            verkaufsprodukt.Abrechnung = abrechnung;
            abrechnung.Verkaufsprodukte.Add(verkaufsprodukt);
            Kontext.SaveChanges();
            VerkaufsproduktHinzugefügt?.Invoke(verkaufsprodukt);
        }
Ejemplo n.º 4
0
 public EditKontext(Kontext kontext, List<IntPtr> excludedHandles = null)
     : this(excludedHandles)
 {
     _kontext = kontext;
     lstKontextItems.Items.Cast<ListViewItem>()
         .ToList()
         .Where(lvi => _kontext.Items.Contains(lvi.Tag as KontextItem))
         .ToList()
         .ForEach(lvi => lvi.Checked = true);
     txtKontextName.Text = kontext.Name;
     txtKontextName.Enabled = false;
     btnOk.Enabled = true;
 }
        internal void LöscheVerkaufsprodukt(Verkaufsprodukt verkaufsprodukt)
        {
            if (verkaufsprodukt.Abrechnung.Gebucht)
            {
                throw new InvalidOperationException("Aus gebuchten Abrechnungen können keine Bestände mehr gelöscht werden.");
            }

            verkaufsprodukt.Abrechnung.Verkaufsprodukte.Remove(verkaufsprodukt);
            VerkaufsproduktGelöscht?.Invoke(verkaufsprodukt);
            verkaufsprodukt.Abrechnung = null;
            Kontext.Verkaufsprodukte.Remove(verkaufsprodukt);
            Kontext.SaveChanges();
        }
Ejemplo n.º 6
0
        public void LöschePositionen(ICollection <Einkaufsposition> positionen, bool erzwinge = false)
        {
            if (!erzwinge && positionen.Any(p => !Einkaufsteuerung.IstLöschbar(p.Einkauf)))
            {
                throw new InvalidOperationException("Aus diesem Einkauf kann keine Position mehr gelöscht werden.");
            }

            Kontext.Einkaufspositionen.RemoveRange(positionen);
            Kontext.SaveChanges();
            foreach (var position in positionen)
            {
                EinkaufspositionGelöscht?.Invoke(position);
            }
        }
 internal void LöscheVerkaufsprodukte(ICollection <Verkaufsprodukt> verkaufsprodukte)
 {
     foreach (var verkaufsprodukt in verkaufsprodukte)
     {
         if (verkaufsprodukt.Abrechnung.Gebucht)
         {
             throw new InvalidOperationException("Zu gebuchten Abrechnungen können keine Bestände mehr hinzugefügt werden.");
         }
         verkaufsprodukt.Abrechnung.Verkaufsprodukte.Remove(verkaufsprodukt);
         VerkaufsproduktGelöscht?.Invoke(verkaufsprodukt);
         verkaufsprodukt.Abrechnung = null;
         Kontext.Verkaufsprodukte.Remove(verkaufsprodukt);
     }
     Kontext.SaveChanges();
 }
        internal void NeueVerkaufsprodukte(Abrechnung abrechnung, ICollection <Verkaufsprodukt> verkaufsprodukte)
        {
            if (abrechnung.Gebucht)
            {
                throw new InvalidOperationException("Zu gebuchten Abrechnungen können keine Bestände mehr hinzugefügt werden.");
            }

            foreach (var verkaufsprodukt in verkaufsprodukte)
            {
                verkaufsprodukt.Abrechnung = abrechnung;
                abrechnung.Verkaufsprodukte.Add(verkaufsprodukt);
                VerkaufsproduktHinzugefügt?.Invoke(verkaufsprodukt);
            }
            Kontext.SaveChanges();
        }
Ejemplo n.º 9
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);
        }
        public void LöscheAbrechnung(Abrechnung abrechnung)
        {
            if (abrechnung.Gebucht)
            {
                throw new InvalidOperationException("Diese Abrechnung kann nicht gelöscht werden, sie ist bereits gebucht.");
            }

            using (var transaktion = Kontext.Database.BeginOrReuseTransaction())
            {
                Entferne(abrechnung, abrechnung.Benutzer.ToList());
                Entferne(abrechnung, abrechnung.Einkäufe.ToList());
                Entferne(abrechnung, abrechnung.Produkte.ToList());

                Kontext.Abrechnungen.Remove(abrechnung);
                Kontext.SaveChanges();

                transaktion?.Commit();
            }
            AbrechnungGelöscht?.Invoke(abrechnung);
        }
Ejemplo n.º 11
0
        public EditKontext(List<IntPtr> excludedHandles = null)
        {
            _excludedHandles = excludedHandles ?? new List<IntPtr>();
            InitializeComponent();
            _kontext = new Kontext(string.Empty);

            icons.Images.Clear();
            lstKontextItems.Items.Clear();

            // Enumerate the kontext items
            var kontextItems = KontextEnumerator.GetAllItems(new List<IntPtr>(_excludedHandles));
            if (kontextItems == null || !kontextItems.Any())
            {
                return;
            }

            // Regenerate the icons list
            lstKontextItems.SmallImageList = null;
            foreach (var ki in kontextItems)
            {
                var icon = ki.GetIcon();
                if (icon != null)
                    icons.Images.Add(ki.Name, icon.ToBitmap());
            }
            lstKontextItems.SmallImageList = icons;

            // Add all items
            lstKontextItems.Items.AddRange(
                kontextItems
                    .Select(ki => new ListViewItem(ki.Name)
                    {
                        Tag = (object) ki,
                        ImageKey = icons.Images.ContainsKey(ki.Name) ? ki.Name : string.Empty
                    }).ToArray());
            _previewer = new WindowsPreview(_previewWindow.Handle,
                (int) (Screen.FromHandle(Handle).WorkingArea.Width*0.2));
            btnOk.Enabled = false;
        }
Ejemplo n.º 12
0
 public void BearbeiteEinkauf(Einkauf einkauf)
 {
     Kontext.SaveChanges();
     EinkaufVerändert?.Invoke(einkauf);
 }
 public void BearbeiteZahlung(Zahlung zahlung)
 {
     Kontext.SaveChanges();
     ZahlungVerändert?.Invoke(zahlung);
 }
 public void NeueAbrechnung(Abrechnung abrechnung)
 {
     Kontext.Abrechnungen.Add(abrechnung);
     Kontext.SaveChanges();
     AbrechnungHinzugefügt?.Invoke(abrechnung);
 }
 public void BearbeiteAbrechnung(Abrechnung abrechnung)
 {
     Kontext.SaveChanges();
     AbrechnungVerändert?.Invoke(abrechnung);
 }
Ejemplo n.º 16
0
 public void BearbeiteProdukt(Produkt produkt)
 {
     Kontext.SaveChanges();
     ProduktVerändert?.Invoke(produkt);
 }
Ejemplo n.º 17
0
 public void NeuerEinkauf(Einkauf einkauf)
 {
     Kontext.Einkäufe.Add(einkauf);
     Kontext.SaveChanges();
     EinkaufHinzugefügt?.Invoke(einkauf);
 }
Ejemplo n.º 18
0
 public void NeuerBenutzer(Benutzer benutzer)
 {
     Kontext.Benutzer.Add(benutzer);
     Kontext.SaveChanges();
     BenutzerHinzugefügt?.Invoke(benutzer);
 }
Ejemplo n.º 19
0
 public void BearbeiteBenutzer(Benutzer benutzer)
 {
     Kontext.SaveChanges();
     BenutzerVerändert?.Invoke(benutzer);
 }
Ejemplo n.º 20
0
 private void ClearPreviewedContext()
 {
     _lastHoveredKontext = null;
     _previewWindows.ForEach(w => w.PreviewedWindow.Hide());
     _previewWindows.ForEach(w =>
     {
         w.WindowsPreview.Dispose();
         w.PreviewedWindow.Dispose();
     });
     _previewWindows.Clear();
 }
Ejemplo n.º 21
0
 private void lstKontexts_MouseMove(object sender, MouseEventArgs e)
 {
     var itemAt = lstKontexts.GetItemAt(e.X, e.Y);
     if (itemAt == null)
     {
         ClearPreviewedContext();
     }
     else
     {
         var kontext = itemAt.Tag as Kontext;
         if (kontext == null)
         {
             ClearPreviewedContext();
         }
         else
         {
             if (kontext == _lastHoveredKontext)
                 return;
             ClearPreviewedContext();
             _lastHoveredKontext = kontext;
             var num = Width + 10;
             var top = Top;
             var width = (int) (Screen.FromHandle(Handle).WorkingArea.Width*0.15);
             foreach (var kontextItem in kontext.Items)
             {
                 var previewWindow = new PreviewWindow();
                 var windowsPreview = new WindowsPreview(previewWindow.Handle, width);
                 windowsPreview.SetPreviewFor(kontextItem.GetHandle());
                 if (top + previewWindow.Height > Screen.PrimaryScreen.WorkingArea.Height)
                 {
                     top = Top;
                     num += width + 5;
                 }
                 previewWindow.Top = top;
                 previewWindow.Left = num;
                 top += previewWindow.Height + 5;
                 if (top > Screen.PrimaryScreen.WorkingArea.Height)
                 {
                     top = Top;
                     num += width + 5;
                 }
                 previewWindow.Show();
                 _previewWindows.Add(new PreviewContext
                 {
                     PreviewedWindow = previewWindow,
                     WindowsPreview = windowsPreview,
                     PreviewedKontext = kontextItem
                 });
             }
         }
     }
 }
Ejemplo n.º 22
0
 public void NeuesProdukt(Produkt produkt)
 {
     Kontext.Produkte.Add(produkt);
     Kontext.SaveChanges();
     ProduktHinzugefügt?.Invoke(produkt);
 }
Ejemplo n.º 23
0
 public void BearbeiteKonto(Konto konto)
 {
     Kontext.SaveChanges();
     KontoVerändert?.Invoke(konto);
 }
Ejemplo n.º 24
0
 public void BearbeiteÜberweisung(Überweisung überweisung)
 {
     Kontext.SaveChanges();
     ÜberweisungVerändert?.Invoke(überweisung);
 }
Ejemplo n.º 25
0
 public void BearbeiteVerbrauch(Verbrauch verbrauch)
 {
     Kontext.SaveChanges();
     VerbrauchBearbeitet?.Invoke(verbrauch);
 }