private void buttonKaffee_Click(object sender, EventArgs e) { FülleIrgendwasEin(() => { if (!prüfeNumerischenWert(textBoxKaffee, out int kaffeemenge, "Kaffeemenge")) { return(false); } #region Umständliche und fehleranfälligere Variante die Kaffeemaschinenart zu prüfen //if(_ausgewählteMaschine.GetType() == typeof(FilterMaschine) || _ausgewählteMaschine.GetType() == typeof(Vollautomat)) #endregion if (_ausgewählteMaschine is FilterMaschine) { FilterMaschine filter = (FilterMaschine)_ausgewählteMaschine; filter.Kaffeestand += kaffeemenge; } else { FehlerFall?.Invoke(this, new FehlerEventArgs("Das ist keine Filtermaschine!")); return(false); } return(true); }); }
public void FülleIrgendwasEin(FlexiblerCode flexiblerCode) { if (_ausgewählteMaschine == null) { FehlerFall?.Invoke(this, new FehlerEventArgs($"Keine Maschine ausgewählt")); return; } //Flexiblen Code ausführen if (!flexiblerCode()) { return; } labelKaffeebeschreibung.Text = _ausgewählteMaschine.ToString(); }
private void buttonZubereitung_Click(object sender, EventArgs e) { if (_ausgewählteMaschine == null) { FehlerFall?.Invoke(this, new FehlerEventArgs("Keine Maschine ausgewählt!")); return; } //Prüfen ob die richtige Maschine ausgewählt wurde passend zur Bestellung if (_bestellteSorte != _ausgewählteMaschine.GetType()) { FehlerFall?.Invoke(this, new FehlerEventArgs("Falsche Maschine ausgewählt!")); return; } if (_ausgewählteMaschine.BereiteKaffeeZu(_bestellteMenge)) { MessageBox.Show("Kaffee wurde zubereitet!"); _score += 5; BestelleNeuenKaffee(); } labelKaffeebeschreibung.Text = _ausgewählteMaschine.ToString(); }
private void buttonPad_Click(object sender, EventArgs e) { FülleIrgendwasEin(() => { #region Umständliche und fehleranfälligere Variante die Kaffeemaschinenart zu prüfen //if(_ausgewählteMaschine.GetType() == typeof(FilterMaschine) || _ausgewählteMaschine.GetType() == typeof(Vollautomat)) #endregion if (_ausgewählteMaschine is PadMaschine) { PadMaschine padmaschine = (PadMaschine)_ausgewählteMaschine; if (padmaschine.PadEingelegt) { return(false); } padmaschine.PadEingelegt = true; } else { FehlerFall?.Invoke(this, new FehlerEventArgs("Keine PadMaschine ausgewählt!")); return(false); } return(true); }); }
private void buttonMilch_Click(object sender, EventArgs e) { FülleIrgendwasEin(() => { if (!prüfeNumerischenWert(textBoxMilch, out int milchmenge, "Milchmenge")) { return(false); } #region Umständliche und fehleranfälligere Variante die Kaffeemaschinenart zu prüfen //if(_ausgewählteMaschine.GetType() == typeof(FilterMaschine) || _ausgewählteMaschine.GetType() == typeof(Vollautomat)) #endregion if (_ausgewählteMaschine is IMilchEinfüllbar) { IMilchEinfüllbar einfüllbareMaschine = (IMilchEinfüllbar)_ausgewählteMaschine; einfüllbareMaschine.Milchstand += milchmenge; } else { FehlerFall?.Invoke(this, new FehlerEventArgs($"Das ist kein Vollautomat!")); return(false); } return(true); }); }
private bool prüfeNumerischenWert(TextBox textbox, out int wert, string art) { wert = 0; try { wert = int.Parse(textbox.Text); } catch (FormatException exp) { FehlerFall?.Invoke(this, new FehlerEventArgs($"Die {art} {textBoxWasser.Text} ist keine gültige ganze Zahl.")); return(false); } catch (OverflowException exp) { FehlerFall?.Invoke(this, new FehlerEventArgs($"Die {art} ist zu groß!")); return(false); } catch (Exception exp) { FehlerFall?.Invoke(this, new FehlerEventArgs(exp.Message)); return(false); } return(true); }