Exemple #1
0
        private void deletecustomerfromdb(int id)
        {
            //weise Kunde zu
            Kunde delKunde = ctx.Kunde.Where(x => x.KundenNr.Equals(id)).FirstOrDefault();
            int   ANummer  = delKunde.KAnsprechpartner.AnsprechPartnerNummer;
            //weise Ansprechpartner zu
            KAnsprechpartner delAnsprechpartner = ctx.KAnsprechpartner.Where(x => x.AnsprechPartnerNummer.Equals(ANummer)).FirstOrDefault();

            if (delKunde != null)
            {
                //Alle Warenbewegungen löschen, die angesprochen werden mit dem Kunden
                List <Warenausgang> delWAs = ctx.Warenausgang.Where(x => x.Kunde1.KundenNr.Equals(delKunde.KundenNr)).ToList();
                foreach (Warenausgang wadel in delWAs)
                {
                    if (wadel != null)
                    {
                        ctx.Warenausgang.Remove(wadel);
                        ctx.SaveChanges();
                    }
                }
                //entferne Ansprechpartner und Kunde aus Datenbank
                ctx.KAnsprechpartner.Remove(delAnsprechpartner);
                ctx.Kunde.Remove(delKunde);
                //Speichere Änderung
                ctx.SaveChanges();
            }
        }
        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 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 BtncustomizeCustomer_Click(object sender, RoutedEventArgs e)
 {
     //speichere Alle Änderungen
     ctx.SaveChanges();
     //Rückmeldung an den Benutzer
     MessageBox.Show("Kunde erfolgreich bearbeitet!", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
 }
 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;
     }
 }
Exemple #6
0
 private void BtnCustomerProduct_Click(object sender, RoutedEventArgs e)
 {
     if (comboboxproduct.SelectedItem != null && cbxchoosecustomer.SelectedItem != null)
     {
         //Dem Kunden das gewählte Produkt zuweisen
         Produkte produkte = (Produkte)comboboxproduct.SelectedItem;
         Kunde    kunde    = (Kunde)cbxchoosecustomer.SelectedItem;
         kunde.Produkte.Add(produkte);
         ctx.SaveChanges();
         btnCustomerProduct.IsEnabled = false;
     }
 }
        private void deletefromdb(int ProduktNummer)
        {
            //weise zu löschendes Produkt zu
            Produkte delProdukt = ctx.Produkte.Where(x => x.ProduktNummer.Equals(ProduktNummer)).FirstOrDefault();

            //Lösche Produkt wenn es gefunden wurde
            if (delProdukt != null)
            {
                //Alle Warenbewegungen und das Produkt löschen
                string delProductName      = delProdukt.ProduktName;
                List <Wareneingang> delWEs = ctx.Wareneingang.Where(x => x.Waren.Produkte.ProduktNummer.Equals(delProdukt.ProduktNummer)).ToList();
                List <Warenausgang> delWAs = ctx.Warenausgang.Where(x => x.Waren.Produkte.ProduktNummer.Equals(delProdukt.ProduktNummer)).ToList();

                //alle Warenbewegungen löschen, die mit dem Produkt angesprochen wurden!
                foreach (Wareneingang wedel in delWEs)
                {
                    if (wedel != null)
                    {
                        ctx.Wareneingang.Remove(wedel);
                        ctx.SaveChanges();
                    }
                }
                foreach (Warenausgang wadel in delWAs)
                {
                    if (wadel != null)
                    {
                        ctx.Warenausgang.Remove(wadel);
                        ctx.SaveChanges();
                    }
                }

                ctx.Produkte.Remove(delProdukt);
                //Meldung für den Benutzer
                MessageBox.Show(delProductName + " wurde gelöscht");
                ctx.SaveChanges();
            }
        }
        //Produkte in Datenbank hinzufügen
        internal void ProdukteHinzufuegen(int ANR, int PNR, float VAL, string PN, LagerverwaltungContext ctx)
        {
            //lege Produkt und Ware an
            Waren    neueWare     = new Waren();
            Produkte neuesProdukt = new Produkte();

            //Fülle alle Daten aus
            neueWare.ArtikelNr         = ANR;
            neueWare.AktBestand        = 0;
            neueWare.ProduktNummer     = PNR;
            neuesProdukt.ProduktNummer = PNR;
            neuesProdukt.ProduktName   = PN;
            neuesProdukt.ProduktWert   = VAL;
            //füge Daten in Datenbank ein
            ctx.Produkte.Add(neuesProdukt);
            ctx.Waren.Add(neueWare);
            ctx.SaveChanges();
        }
Exemple #9
0
        private void Btngoodsissue_Click(object sender, RoutedEventArgs e)
        {
            //Wähle Produkt anhand von Produknummer aus
            Produkte produkte = (Produkte)lbxgoodsissuegoods.SelectedItem;
            Waren    waren    = ctx.Waren.Where(x => x.Produkte.ProduktNummer.Equals(produkte.ProduktNummer)).FirstOrDefault();

            //Prüfe ob Produkt gefunden wurde
            if (waren != null)
            {
                //Prüfe ob Mindestbestand unterschritten wird
                int aktBestand = Convert.ToInt32(waren.AktBestand);
                int Menge;

                if (Int32.TryParse(tbxgoodsissueamount.Text, out Menge))
                {
                }
                else
                {
                    MessageBox.Show("Warenmenge darf keine Kommazahl sein oder Buchstaben enthalten!", "Warnung", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                if (waren.AktBestand >= Menge)
                {
                    MessageBoxResult messageBoxResult = MessageBox.Show($"Sie aus ihrem Lager {tbxgoodsissueamount.Text} Stück des Artikels {waren.Produkte.ProduktName} entfernen?", "Frage", MessageBoxButton.YesNo, MessageBoxImage.Question);
                    if (messageBoxResult.Equals(MessageBoxResult.Yes))
                    {
                        if (waren.Mindestbestand > (aktBestand = Convert.ToInt32(waren.AktBestand) - Menge))
                        {
                            //Frage ob Mindesbestand unterschritten werden soll!
                            MessageBoxResult messageBox = MessageBox.Show($"Mit dieser Transaktion wird der Mindesbestand " +
                                                                          $"des Produktes unterschritten, wollen Sie fortfahren?", "Warnung",
                                                                          MessageBoxButton.YesNo, MessageBoxImage.Question);
                            if (messageBox == MessageBoxResult.Yes)
                            {
                                //Buche Vorgang
                                waren.AktBestand = waren.AktBestand - Menge;
                                ctx.SaveChanges();
                            }
                            else
                            {
                                //Breche Vorgang ab
                                MessageBox.Show("Transaktion abgebrochen!", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
                                return;
                            }
                        }
                        else
                        {
                            //Buche Vorgang
                            waren.AktBestand = waren.AktBestand - Menge;
                            ctx.SaveChanges();
                        }
                    }
                    else
                    {
                        //Benutzer darauf hinweisen das die Transaktion nicht durchgeführt wurde
                        MessageBox.Show("Transaktion abgebrochen!", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("Nicht genügend Artikel im Bestand!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }


                //Fülle Daten in Warenausgangstabelle ein
                Warenausgang warenausgang = new Warenausgang();
                Kunde        kunde        = (Kunde)lbxgoodsissuecustomer.SelectedItem;
                warenausgang.WarenausgangID = ctx.Warenausgang.Count() + 1;
                warenausgang.Artikel        = waren.ArtikelNr;
                warenausgang.Kunde          = kunde.KundenNr;
                warenausgang.Bestellmenge   = Convert.ToInt32(tbxgoodsissueamount.Text);
                ctx.Warenausgang.Add(warenausgang);
                ctx.SaveChanges();
                //Kontrollausgabe für den Benutzer
                MessageBox.Show($"Artikel: {waren.Produkte.ProduktName}\nMenge: {tbxgoodsissueamount.Text}\nKunde: {kunde.KundenName}");
                //Template erstellen mit RazorEngine
                string htmlFile        = System.IO.File.ReadAllText("warenausgangtemplate.cshtml");
                int    waid            = ctx.Warenausgang.Count();
                string result          = Engine.Razor.RunCompile(htmlFile, $"WATemplate{waid}", null, warenausgang);
                int    warenAusgangAnz = ctx.Warenausgang.Count();
                System.IO.File.WriteAllText($"Warenausgang{warenAusgangAnz}.html", result);
            }

            //Textbox leeren
            tbxgoodsissueamount.Clear();

            //Setze selektierte Items auf 0, damit keine Fehler entstehen können
            lbxgoodsissuecustomer.SelectedIndex = 0;
            lbxgoodsissuegoods.SelectedIndex    = 0;
        }
        //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);
            }
        }
Exemple #11
0
        internal bool KundeHinzufuegen(int KNummer, string KName, int KANummer, string KPLZ, string KAddresse, string KOrt, string KTelefon, string KEmail, string KWebsite, string AAnrede, string AVorname, string ANachname, string AHandynummer, string AEmail, string ATel, LagerverwaltungContext ctx)
        {
            //Context herstellen
            ctx = new LagerverwaltungContext();

            //lege Kunde und Anprechpartner an
            Kunde            newCustomer      = new Kunde();
            KAnsprechpartner newContactperson = new KAnsprechpartner();


            //Pflichtfelder werden ausgefüllt
            newCustomer.KundenNr                   = KNummer;
            newCustomer.KundenName                 = KName;
            newCustomer.Ansprechpartner            = KANummer;
            newContactperson.AnsprechPartnerNummer = KANummer;

            //prüfe ob Inhalt vorhanden oder Datensätze null sind
            if (KPLZ.Any())
            {
                newCustomer.PLZ = KPLZ;
            }
            else
            {
                newCustomer.PLZ = null;
            }

            if (KAddresse.Any())
            {
                newCustomer.Adresse = KAddresse;
            }
            else
            {
                newCustomer.Adresse = null;
            }
            if (KOrt.Any())
            {
                newCustomer.Ort = KOrt;
            }
            else
            {
                newCustomer.Ort = null;
            }
            if (KTelefon.Any())
            {
                newCustomer.Telefonnummer = KTelefon;
            }
            else
            {
                newCustomer.Telefonnummer = null;
            }
            if (KEmail.Any())
            {
                newCustomer.EmailaddresseBetrieb = KEmail;
            }
            else
            {
                newCustomer.EmailaddresseBetrieb = null;
            }
            if (KWebsite.Any())
            {
                newCustomer.Website = KWebsite;
            }
            else
            {
                newCustomer.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 Kunde schon vorhanden ist
            if (ctx.Kunde.Where(x => x.KundenNr.Equals(KNummer)).FirstOrDefault() == null &&
                ctx.Kunde.Where(x => x.KundenName.Equals(KName)).FirstOrDefault() == null &&
                ctx.Kunde.Where(x => x.KAnsprechpartner.AnsprechPartnerNummer.Equals(KANummer)).FirstOrDefault() == null)
            {
                //füge alle eingegebenen daten in die fatenbank und speichere die änderungen
                ctx.Kunde.Add(newCustomer);
                ctx.KAnsprechpartner.Add(newContactperson);
                ctx.SaveChanges();
                return(true);
            }
            else
            {
                //Benutzerausgabe, die dem User sagt das der Kunde schon vorhanden ist
                if (ctx.Kunde.Where(x => x.KundenNr.Equals(KNummer)).FirstOrDefault() != null)
                {
                    MessageBox.Show("Kundennummer ist bereits vorhanden!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else if (ctx.Kunde.Where(x => x.KundenName.Equals(KName)).FirstOrDefault() != null)
                {
                    MessageBox.Show("Kundenname ist bereits vorhanden!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {
                    MessageBox.Show("AnsprechpartnerID ist bereits vorhanden!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                //gib False zurück
                return(false);
            }
        }