private void deletedelivererfromdb(int id)
        {
            //Weise Lieferer und Ansprechpartner zu
            Lieferer         delLieferer        = ctx.Lieferer.Where(x => x.LiefererNR.Equals(id)).FirstOrDefault();
            int              ANummer            = delLieferer.LAnsprechpartner.AnprechPartnerNummer;
            LAnsprechpartner delAnsprechpartner = ctx.LAnsprechpartner.Where(x => x.AnprechPartnerNummer.Equals(ANummer)).FirstOrDefault();

            if (delLieferer != null)
            {
                string delLiefererName = delLieferer.LiefererName;
                //Alle Wareneingänge löschen die vom Lieferer angesprochen werden
                List <Wareneingang> delWEs = ctx.Wareneingang.Where(x => x.Lieferer1.LiefererNR.Equals(delLieferer.LiefererNR)).ToList();
                foreach (Wareneingang wedel in delWEs)
                {
                    if (wedel != null)
                    {
                        ctx.Wareneingang.Remove(wedel);
                        ctx.SaveChanges();
                    }
                }
                //Lösche Ansprechpartner und Lieferer aus Datenbank
                ctx.LAnsprechpartner.Remove(delAnsprechpartner);
                ctx.Lieferer.Remove(delLieferer);
                //speichere Änderungen
                ctx.SaveChanges();
                MessageBox.Show(delLiefererName + " wurde gelöscht!");
            }
        }
        private void Comboboxproduct_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //lieferer zuweisen
            Lieferer lieferer = (Lieferer)cbxdeliverer.SelectedItem;

            if (lieferer != null)
            {
                List <Produkte> prodListe = lieferer.Produkte.ToList();

                foreach (Produkte p in prodListe)
                {
                    //Button nur aktivieren wenn dem Lieferer das Produkt noch nicht zugewiesen wurde
                    if (p.Equals((Produkte)comboboxproduct.SelectedItem))
                    {
                        btnproducttodeliverer.IsEnabled = false;
                        break;
                    }
                    else
                    {
                        if (cbxdeliverer.SelectedItem != null && comboboxproduct.SelectedItem != null)
                        {
                            btnproducttodeliverer.IsEnabled = true;
                        }
                        else
                        {
                            btnproducttodeliverer.IsEnabled = false;
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        private void DataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            //zeige Informationen über den Ansprechpartner an
            Lieferer             lieferer        = (Lieferer)dgshowdeliverer.SelectedItem;
            ShowLAnsprechpartner ansprechpartner = new ShowLAnsprechpartner(lieferer);

            ansprechpartner.ShowDialog();
        }
        public static string GetOrtPlz(int CompanyNR)
        {
            Lieferer lieferer = ctx.Lieferer.Where(x => x.LiefererNR.Equals(CompanyNR)).FirstOrDefault();
            string   Ort      = lieferer.Ort;
            string   PLZ      = lieferer.PLZ;
            string   OrtPlz   = PLZ + " " + Ort;

            return(OrtPlz);
        }
        private void Goodsreceipt()
        {
            //Listen neu zuweisen
            WarenListe    = ctx.Waren.ToList();
            LiefererListe = ctx.Lieferer.ToList();

            //gehe zum selektiertem Gut
            string ProduktName = lbxgoodsreceiptgoods.SelectedItem.ToString();

            Produkte produkte = (Produkte)lbxgoodsreceiptgoods.SelectedItem;
            Waren    waren    = ctx.Waren.Where(x => x.Produkte.ProduktNummer.Equals(produkte.ProduktNummer)).FirstOrDefault();

            //wenn es gefunden wurde führe Aktion aus
            if (waren != null)
            {
                //fragen ob die Transaktion wirklich durchgeführt werden soll
                MessageBoxResult messageBox = MessageBox.Show($"Sie wollen in Ihr Lager {tbxgoodsreceiptdelivered.Text} Stück des Artikels {waren.Produkte.ProduktName} hinzufügen?", "Frage", MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (messageBox.Equals(MessageBoxResult.Yes))
                {
                    //aktueller Bestand anpassen
                    waren.AktBestand = waren.AktBestand + Convert.ToInt32(tbxgoodsreceiptdelivered.Text);
                    ctx.SaveChanges();
                }
                else
                {
                    //Benutzer darauf hinweisen das die Transaktion nicht durchgeführt wurde
                    MessageBox.Show("Transaktion abgebrochen!", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }

                //Wareneingang Tabelle eintrag hinzufügen
                Wareneingang wareneingang = new Wareneingang();
                Lieferer     lieferer     = (Lieferer)lbxgoodsreceiptdeliverer.SelectedItem;
                wareneingang.WareneingangID = ctx.Wareneingang.Count() + 1;
                wareneingang.Artikel        = waren.ArtikelNr;
                wareneingang.Lieferer       = lieferer.LiefererNR;
                wareneingang.Bestellmenge   = Convert.ToInt32(tbxgoodsreceiptdelivered.Text);
                //Daten in Tabelle hinzufügen
                ctx.Wareneingang.Add(wareneingang);
                ctx.SaveChanges();
                //Kontrollausgabe für den Benutzer
                MessageBox.Show($"Artikel: {waren.Produkte.ProduktName}\nMenge: {tbxgoodsreceiptdelivered.Text}\nLieferer: {lieferer.LiefererName}");
                //Template erstellen mit RazorEngine
                string htmlFile        = System.IO.File.ReadAllText("wareneingangtemplate.cshtml");
                int    weid            = ctx.Wareneingang.Count();
                string result          = Engine.Razor.RunCompile(htmlFile, $"WETemplate{weid}", null, wareneingang);
                int    warenEingangAnz = ctx.Wareneingang.Count();
                System.IO.File.WriteAllText($"Wareneingang{warenEingangAnz}.html", result);
                tbxgoodsreceiptdelivered.Clear();
            }
            else
            {
                MessageBox.Show("Fehler");
            }
        }
 private void Btnproducttodeliverer_Click(object sender, RoutedEventArgs e)
 {
     if (comboboxproduct.SelectedItem != null && cbxdeliverer.SelectedItem != null)
     {
         //Dem Lieferer das Produkt zuweisen
         Produkte produkte = (Produkte)comboboxproduct.SelectedItem;
         Lieferer lieferer = (Lieferer)cbxdeliverer.SelectedItem;
         lieferer.Produkte.Add(produkte);
         ctx.SaveChanges();
         btnproducttodeliverer.IsEnabled = false;
     }
 }
 private void Btndeletedelivererdelete_Click(object sender, RoutedEventArgs e)
 {
     //Prüfe ob Item ausgewählt ist
     if (dgdeletedeliverlist.SelectedItem != null)
     {
         int LNR = -1;
         //ermittle Lieferernummer anhand des Indexes
         Lieferer lieferer = (Lieferer)dgdeletedeliverlist.SelectedItem;
         LNR = lieferer.LiefererNR;
         //rufe Funktion zum löschen des Lieferers auf, wenn Lieferernummer gefunden wurde
         if (LNR != -1)
         {
             deletedelivererfromdb(LNR);
         }
         //Aktualisiere DataGrid
         liefererKlasse.LoadDelivererfromDB(ParentGrid, ctx);
         LieferListe = liefererKlasse.lList;
     }
     else
     {
         MessageBox.Show("Bitte einen Kunde auswählen, der gelöscht werden soll");
     }
 }
        public static string GetDelivererAdresse(int CompanyNR)
        {
            Lieferer lieferer = ctx.Lieferer.Where(x => x.LiefererNR.Equals(CompanyNR)).FirstOrDefault();

            return(lieferer.Adresse);
        }
        //Funktion um Lieferer Hinzuzufügen
        internal bool LiefererHinzufuegen(int LNummer, string LName, int LANummer, string LPLZ, string LAddresse, string LOrt, string LTelefon, string LEmail, string LWebsite, string AAnrede, string AVorname, string ANachname, string AHandynummer, string AEmail, string ATel, LagerverwaltungContext ctx)
        {
            //Datenbankcontext erstellen
            ctx = new LagerverwaltungContext();

            //lege Kunde und Anprechpartner an
            Lieferer         newDeliverer     = new Lieferer();
            LAnsprechpartner newContactperson = new LAnsprechpartner();


            //Pflichtfelder werden ausgefüllt
            newDeliverer.LiefererNR               = LNummer;
            newDeliverer.LiefererName             = LName;
            newDeliverer.Ansprechpartner          = LANummer;
            newContactperson.AnprechPartnerNummer = LANummer;

            //prüfe ob inhalt vorhanden oder Daten null sind
            if (LPLZ.Any())
            {
                newDeliverer.PLZ = LPLZ;
            }
            else
            {
                newDeliverer.PLZ = null;
            }

            if (LAddresse.Any())
            {
                newDeliverer.Adresse = LAddresse;
            }
            else
            {
                newDeliverer.Adresse = null;
            }
            if (LOrt.Any())
            {
                newDeliverer.Ort = LOrt;
            }
            else
            {
                newDeliverer.Ort = null;
            }
            if (LTelefon.Any())
            {
                newDeliverer.Telefonnummer = LTelefon;
            }
            else
            {
                newDeliverer.Telefonnummer = null;
            }
            if (LEmail.Any())
            {
                newDeliverer.EmailaddresseBetrieb = LEmail;
            }
            else
            {
                newDeliverer.EmailaddresseBetrieb = null;
            }
            if (LWebsite.Any())
            {
                newDeliverer.Website = LWebsite;
            }
            else
            {
                newDeliverer.Website = null;
            }
            if (AAnrede.Any())
            {
                newContactperson.AnspAnrede = AAnrede;
            }
            else
            {
                newContactperson.AnspAnrede = null;
            }
            if (AVorname.Any())
            {
                newContactperson.AnspVorname = AVorname;
            }
            else
            {
                newContactperson.AnspVorname = null;
            }
            if (ANachname.Any())
            {
                newContactperson.AnspNachname = ANachname;
            }
            else
            {
                newContactperson.AnspNachname = null;
            }
            if (AHandynummer.Any())
            {
                newContactperson.AnpsHandyNummer = AHandynummer;
            }
            else
            {
                newContactperson.AnpsHandyNummer = null;
            }
            if (AEmail.Any())
            {
                newContactperson.AnspEmail = AEmail;
            }
            else
            {
                newContactperson.AnspEmail = null;
            }
            if (ATel.Any())
            {
                newContactperson.AnspTelefonnummer = ATel;
            }
            else
            {
                newContactperson.AnspTelefonnummer = null;
            }

            //Prüfe ob Lieferer schon vorhanden ist
            if (ctx.Lieferer.Where(x => x.LiefererNR.Equals(LNummer)).FirstOrDefault() == null &&
                ctx.Lieferer.Where(x => x.LiefererName.Equals(LName)).FirstOrDefault() == null &&
                ctx.Lieferer.Where(x => x.LAnsprechpartner.AnprechPartnerNummer.Equals(LANummer)).FirstOrDefault() == null)
            {
                //füge alle eingegebenen daten in die fatenbank und speichere die änderungen
                ctx.Lieferer.Add(newDeliverer);
                ctx.LAnsprechpartner.Add(newContactperson);
                ctx.SaveChanges();
                return(true);
            }
            else
            {
                //Teile dem Benutzer mit, das der Lieferer schon vorhanden ist
                if (ctx.Lieferer.Where(x => x.LiefererNR.Equals(LNummer)).FirstOrDefault() != null)
                {
                    MessageBox.Show("Lieferernummer ist bereits vorhanden!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else if (ctx.Lieferer.Where(x => x.LiefererName.Equals(LName)).FirstOrDefault() != null)
                {
                    MessageBox.Show("Lieferername ist bereits vorhanden!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {
                    MessageBox.Show("AnsprechpartnerID ist schon vorhanden!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                //Gib False zurück
                return(false);
            }
        }
 public ShowLAnsprechpartner(Lieferer lieferer)
 {
     InitializeComponent();
     //Lieferer zuweisen
     thisLieferer = lieferer;
 }