Ejemplo n.º 1
0
        // Eventhandler Verkaufen
        private void buttonSell_Click(object sender, EventArgs e)
        {
            // Erstellt einen array mit allen Mengen von Allen produckten die man zu einem Zeitpunkt Verkaufen will
            NumericUpDown[] quantarray = ((TableLayoutPanel)this.Controls.Find("tableLayoutPanelSelling", true)[0]).Controls.OfType <NumericUpDown>().ToArray();
            double          price      = 0;

            // Iteriert durch den Array
            for (int row = 0; row < quantarray.Length; row++)
            {
                // falls der Wert des Panels größer null ist
                if (Convert.ToInt32(quantarray[row].Value) > 0)
                {
                    //wird ein Datenbankupdate angestoßen das die zu Verkaufende Menge von der Vorhanden Menge des Produktes Abzieht
                    string guid = _ListDisplayedIProduct[row].GUID;
                    // Falls das Update nicht erfolgreich war wird ein Fehler Ausgegeben
                    if (!_iLogicUpdate.SellProduct(guid, Convert.ToInt32(quantarray[row].Value)))
                    {
                        MessageBox.Show("Das Produkt "
                                        + _ListDisplayedIProduct[row].Name
                                        + " ist nicht mehr oft genug vorrätig und konnte nicht verkauft werden!",
                                        "Fehler!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        price += Convert.ToInt32(quantarray[row].Value) * ((double)_ListDisplayedIProduct[row].Price);
                    }
                }
            }
            // Gibt eine Nachricht us wie viel der Kunde Bezahlen muss
            if (price > 0)
            {
                MessageBox.Show("Der Kunde muss: " + Environment.NewLine + price.ToString("F") + "€" + Environment.NewLine + "bezahlen!",
                                "Rechung", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            // Aktualiesiert das Verkaufspanel
            loadProductTabelle();
            sumPrice        = 0;
            labelPrize.Text = sumPrice.ToString("F") + "€";
        }