Beispiel #1
0
        public int TapetenkleisterBerechnen(Tapete tapete, double flaeche, Tapetenkleister tapetenkleister)
        {
            // Berechnung der Anzahl an benötigten Packungen Tapetenkleister
            double benoetigtePackungenKleister = flaeche / tapetenkleister.reichweite;

            return(Convert.ToInt32(Math.Ceiling(benoetigtePackungenKleister)));
        }
Beispiel #2
0
        public void ArtikelSpeichern(dynamic artikel, bool aendereArtikel, int alteArtikelnummer = 0)
        {
            var    returnType     = artikel.GetType();
            string dataTypeString = returnType.ToString();

            try
            {
                var test = artikelnummern.Contains(artikel.artikelnummer);
                if (!artikelnummern.Contains(artikel.artikelnummer))
                {
                    if (!aendereArtikel)
                    {
                        switch (dataTypeString)
                        {
                        case "tfmarkt.Produktklassen.Fliese":
                            this.fliesen.Add(artikel);
                            this.artikelnummern.Add(artikel.artikelnummer);
                            MessageBox.Show("Fliese hinzugefügt");
                            break;

                        case "tfmarkt.Produktklassen.Tapete":
                            this.tapeten.Add(artikel);
                            this.artikelnummern.Add(artikel.artikelnummer);
                            MessageBox.Show("Tapete hinzugefügt");
                            break;

                        case "tfmarkt.Produktklassen.Fliesenkleber":
                            this.fliesenkleber = artikel;
                            this.artikelnummern.Add(artikel.artikelnummer);
                            MessageBox.Show("Fliesenkleber hinzugefügt");
                            break;

                        case "tfmarkt.Produktklassen.Fugenfueller":
                            this.fugenfueller = artikel;
                            this.artikelnummern.Add(artikel.artikelnummer);
                            MessageBox.Show("Fuegenfueller hinzugefügt");
                            break;

                        case "tfmarkt.Produktklassen.Tapetenkleister":
                            this.tapetenkleister = artikel;
                            this.artikelnummern.Add(artikel.artikelnummer);
                            MessageBox.Show("Tapetenkleister hinzugefügt");
                            break;
                        }
                    }
                    if (aendereArtikel)
                    {
                        switch (dataTypeString)
                        {
                        case "tfmarkt.Produktklassen.Fliese":
                            this.fliesen.Add(artikel);
                            Fliese alteFliese = this.fliesen.Find(x => x.artikelnummer == alteArtikelnummer);
                            this.fliesen.Remove(alteFliese);
                            if (alteArtikelnummer != artikel.artikelnummer)
                            {
                                this.artikelnummern.Add(artikel.artikelnummer);
                            }
                            MessageBox.Show("Fliese wurde geändert");
                            break;

                        case "tfmarkt.Produktklassen.Tapete":
                            this.tapeten.Add(artikel);
                            Tapete alteTapete = this.tapeten.Find(x => x.artikelnummer == alteArtikelnummer);
                            this.tapeten.Remove(alteTapete);
                            if (alteArtikelnummer != artikel.artikelnummer)
                            {
                                this.artikelnummern.Add(artikel.artikelnummer);
                            }
                            MessageBox.Show("Tapete wurde geändert");
                            break;

                        case "tfmarkt.Produktklassen.Fliesenkleber":
                            this.fliesenkleber = artikel;
                            if (alteArtikelnummer != artikel.artikelnummer)
                            {
                                this.artikelnummern.Add(artikel.artikelnummer);
                            }
                            MessageBox.Show("Fliesenkleber wurde geändert");
                            break;

                        case "tfmarkt.Produktklassen.Fugenfueller":
                            this.fugenfueller = artikel;
                            if (alteArtikelnummer != artikel.artikelnummer)
                            {
                                this.artikelnummern.Add(artikel.artikelnummer);
                            }
                            MessageBox.Show("Fuegenfueller wurde geändert");
                            break;

                        case "tfmarkt.Produktklassen.Tapetenkleister":
                            this.tapetenkleister = artikel;
                            if (alteArtikelnummer != artikel.artikelnummer)
                            {
                                this.artikelnummern.Add(artikel.artikelnummer);
                            }
                            MessageBox.Show("Tapetenkleister wurde geändert");
                            break;
                        }
                    }
                }

                else
                {
                    MessageBox.Show("Ein Produkt mit der Artikelnummer " + artikel.artikelnummer.ToString() + " ist schon im System");
                }

                var        serializer = new XmlSerializer(typeof(ProduktKatalog));
                TextWriter writer     = new StreamWriter("produktkatalog.xml");
                serializer.Serialize(writer, this);
                writer.Close();
            }
            catch (Exception exception)
            {
                System.Windows.MessageBox.Show(exception.ToString());
            }
        }
        private void SpeichernButton_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                decimal preis         = Convert.ToDecimal(PreisTextBox.Text);
                string  name          = ProduktnameTextBox.Text;
                int     artikelnummer = Convert.ToInt32(ArtikelnummerTextBox.Text);
                string  beschreibung  = BeschreibungTextBox.Text;
                double  laenge;
                double  breite;
                double  reichweite;
                double  zusatzProduktMass;

                if (!aendereArtikel)
                {
                    switch (produktTyp)
                    {
                    case "Fliese":
                        laenge = Convert.ToDouble(LaengeReichweiteTextBox.Text);
                        breite = Convert.ToDouble(BreiteTextBox.Text);
                        int    anzahl            = Convert.ToInt32(ExtraTextBox.Text);
                        Fliese flieseZuSpeichern = new Fliese(preis, name, artikelnummer, beschreibung, laenge, breite, anzahl);
                        produktKatalog.ArtikelSpeichern(flieseZuSpeichern, aendereArtikel);
                        Close();
                        break;

                    case "Tapete":
                        laenge = Convert.ToDouble(LaengeReichweiteTextBox.Text);
                        breite = Convert.ToDouble(BreiteTextBox.Text);
                        double musterversatz     = Convert.ToDouble(ExtraTextBox.Text);
                        Tapete tapeteZuSpeichern = new Tapete(preis, name, artikelnummer, beschreibung, laenge, breite, musterversatz);
                        produktKatalog.ArtikelSpeichern(tapeteZuSpeichern, aendereArtikel);
                        Close();
                        break;

                    case "Fugenfüller":
                        zusatzProduktMass = Convert.ToDouble(ExtraTextBox.Text);
                        reichweite        = double.Parse(LaengeReichweiteTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture);
                        Fugenfueller fugenfuellerZuSpeichern = new Fugenfueller(preis, name, artikelnummer, beschreibung, zusatzProduktMass, reichweite);
                        produktKatalog.ArtikelSpeichern(fugenfuellerZuSpeichern, aendereArtikel);
                        Close();
                        break;

                    case "Tapetenkleister":
                        zusatzProduktMass = Convert.ToDouble(ExtraTextBox.Text);
                        reichweite        = double.Parse(LaengeReichweiteTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture);
                        Tapetenkleister kleisterZuSpeichern = new Tapetenkleister(preis, name, artikelnummer, beschreibung, zusatzProduktMass, reichweite);
                        produktKatalog.ArtikelSpeichern(kleisterZuSpeichern, aendereArtikel);
                        Close();
                        break;

                    case "Fliesenkleber":
                        zusatzProduktMass = Convert.ToDouble(ExtraTextBox.Text);
                        reichweite        = double.Parse(LaengeReichweiteTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture);
                        Fliesenkleber kleberZuSpeichern = new Fliesenkleber(preis, name, artikelnummer, beschreibung, zusatzProduktMass, reichweite);
                        produktKatalog.ArtikelSpeichern(kleberZuSpeichern, aendereArtikel);
                        Close();
                        break;
                    }
                }
                else
                {
                    int alteArtikelnummer = ausgewaehltesProdukt.artikelnummer;

                    verwaltung.produktLoeschen(sender, e);

                    switch (produktTyp)
                    {
                    case "Fliese":
                        laenge = Convert.ToDouble(LaengeReichweiteTextBox.Text);
                        breite = Convert.ToDouble(BreiteTextBox.Text);
                        int    anzahl            = Convert.ToInt32(ExtraTextBox.Text);
                        Fliese flieseZuSpeichern = new Fliese(preis, name, artikelnummer, beschreibung, laenge, breite, anzahl);
                        produktKatalog.ArtikelSpeichern(flieseZuSpeichern, aendereArtikel, alteArtikelnummer);
                        Close();
                        break;

                    case "Tapete":
                        laenge = Convert.ToDouble(LaengeReichweiteTextBox.Text);
                        breite = Convert.ToDouble(BreiteTextBox.Text);
                        double musterversatz     = Convert.ToDouble(ExtraTextBox.Text);
                        Tapete tapeteZuSpeichern = new Tapete(preis, name, artikelnummer, beschreibung, laenge, breite, musterversatz);
                        produktKatalog.ArtikelSpeichern(tapeteZuSpeichern, aendereArtikel, alteArtikelnummer);
                        Close();
                        break;

                    case "Fugenfüller":
                        zusatzProduktMass = Convert.ToDouble(ExtraTextBox.Text);
                        reichweite        = double.Parse(LaengeReichweiteTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture);
                        Fugenfueller fugenfuellerZuSpeichern = new Fugenfueller(preis, name, artikelnummer, beschreibung, zusatzProduktMass, reichweite);
                        produktKatalog.ArtikelSpeichern(fugenfuellerZuSpeichern, aendereArtikel, alteArtikelnummer);
                        Close();
                        break;

                    case "Tapetenkleister":
                        zusatzProduktMass = Convert.ToDouble(ExtraTextBox.Text);
                        reichweite        = double.Parse(LaengeReichweiteTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture);
                        Tapetenkleister kleisterZuSpeichern = new Tapetenkleister(preis, name, artikelnummer, beschreibung, zusatzProduktMass, reichweite);
                        produktKatalog.ArtikelSpeichern(kleisterZuSpeichern, aendereArtikel, alteArtikelnummer);
                        Close();
                        break;

                    case "Fliesenkleber":
                        zusatzProduktMass = Convert.ToDouble(ExtraTextBox.Text);
                        reichweite        = double.Parse(LaengeReichweiteTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture);
                        Fliesenkleber kleberZuSpeichern = new Fliesenkleber(preis, name, artikelnummer, beschreibung, zusatzProduktMass, reichweite);
                        produktKatalog.ArtikelSpeichern(kleberZuSpeichern, aendereArtikel, alteArtikelnummer);
                        Close();
                        break;
                    }
                    this.aendereArtikel = false;
                }
            }
            catch
            {
                MessageBox.Show("Überprüfen Sie Ihre Eingaben");
            }
        }