// 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") + "€"; }