private void SpeichernButton_Click(object sender, RoutedEventArgs e) { //Die Eingaben für die Kategorien List <(int, string)> werte = new List <(int, string)>(); for (int i = 0; i < Main.kategorien.Count; i++) { TextBox aktuellesObject = FindName("tb" + Main.kategorien[i].kategorie.MakeValid()) as TextBox; werte.Add((Main.kategorien[i].id, aktuellesObject.Text)); } bool istGala = (StackPanelPflanzenAnlegung.FindName("galaCheckBox") as CheckBox).IsChecked.Value; bool istZier = (StackPanelPflanzenAnlegung.FindName("zierCheckBox") as CheckBox).IsChecked.Value; Main.api_anbindung.PflanzeErstellen(istGala, istZier, werte); Main.pflanzen = Main.api_anbindung.Bekommen <Pflanze>(); //Lädt die Bilder aus den Dateien und lädt sie hoch foreach (string s in bilder) { byte[] b = File.ReadAllBytes(s); Main.api_anbindung.BildHochladen(Main.pflanzen[Main.pflanzen.Length].id_pflanze, b); } bilder = new List <string>(); MessageBox.Show("Gespeichert!"); MainWindow.changeContent(new Administration()); }
private void AusloggenButton_Click(object sender, RoutedEventArgs e) { MessageBoxResult messageBoxResult = MessageBox.Show("Sind Sie sich sicher?", "Abmelde-Bestätigung", MessageBoxButton.YesNo); if (messageBoxResult == MessageBoxResult.Yes) { Main.benutzer = null; MainWindow.changeContent(new Anmeldung()); } }
private void Weiter_Click(object sender, System.Windows.RoutedEventArgs e) { Main.einzelStatistiken[Main.momentanePflanzeAusQuiz] = new StatistikPflanze(); Main.einzelStatistiken[Main.momentanePflanzeAusQuiz].antworten = new StatistikPflanzeAntwort[Main.quiz[Main.momentanePflanzeAusQuiz].pflanze.kategorien.Length - 1]; //Antworten speichern for (int i = 0; i < Main.einzelStatistiken[Main.momentanePflanzeAusQuiz].antworten.Length; i++) { string eingabe = ((TextBox)FindName(Main.kategorien[i].kategorie + "TextBox")).Text; /* if(string.IsNullOrWhiteSpace(eingabe)) * { * eingabe = "kеine Eingabe gemacht!"; * } */// Soll prüfungsvorbereitend sein und da sagt dir auch keiner wenn du ein Feld nicht ausgefüllt hast. Main.quiz[Main.momentanePflanzeAusQuiz].pflanze.kategorien[i].gegebeneAntwort = eingabe; Main.einzelStatistiken[Main.momentanePflanzeAusQuiz].antworten[i] = new StatistikPflanzeAntwort(); //Einzelstatistik speichern Main.einzelStatistiken[Main.momentanePflanzeAusQuiz].antworten[i].eingabe = eingabe; Main.einzelStatistiken[Main.momentanePflanzeAusQuiz].antworten[i].korrekt = Main.quiz[Main.momentanePflanzeAusQuiz].pflanze.kategorien[i].antwort; Main.einzelStatistiken[Main.momentanePflanzeAusQuiz].antworten[i].kategorie = Main.quiz[Main.momentanePflanzeAusQuiz].pflanze.kategorien[i].kategorie_name; Main.einzelStatistiken[Main.momentanePflanzeAusQuiz].antworten[i].WirdFürWerkGewertet = Main.quiz[Main.momentanePflanzeAusQuiz].pflanze.kategorien[i].wirdFürWerkGewertet; } //Speichere ID weitere Daten für die Einzelstatistik Main.einzelStatistiken[Main.momentanePflanzeAusQuiz].id_pflanze = Main.quiz[Main.momentanePflanzeAusQuiz].pflanze.id_pflanze; if (Main.momentanePflanzeAusQuiz >= Main.quiz.Length - 1) { //Quiz ist zu Ende. Ergebnisse in Datenbank speichern Main.quizTimer.Stop(); Main.LadeStatistikenHoch(); Main.LadeStatistiken(); Main.azubiStatistik = Main.azubiStatistiken[Main.azubiStatistiken.Length - 1]; Main.azubiStatistik = Main.api_anbindung.BekommeStatistik(Main.azubiStatistik.id_statistik); //Ergebnisse anzeigen Main.momentanePflanzeAusQuiz = -1; Main.momentanePflanzeAusStatistik = 0; //MainWindow.changeContent(new QuizStatistik()); MainWindow.changeContent(new AdminQuizStatistik()); } else { //Quiz ist nicht zu Ende. Nächste Pflanze anzeigen MainWindow.changeContent(new QuizBildanzeige()); } }
private void AnsehenButton_Click(object sender, RoutedEventArgs e) { Main.azubiStatistik = Main.azubiStatistiken[listView.SelectedIndex]; Main.azubiStatistik = Main.api_anbindung.BekommeStatistik(Main.azubiStatistik.id_statistik); if (Main.azubiStatistik.pflanzen.Length > 0) { Main.momentanePflanzeAusStatistik = 0; MainWindow.changeContent(new AdminQuizStatistik()); } else if (Main.azubiStatistik != null) { MessageBox.Show("Die gewählte Statistik enthält keine Pflanzen"); } }
private void ZufälligesQuizButton_Click(object sender, RoutedEventArgs e) { MainWindow.StartLoading(); Main.ZufälligesQuizBekommen(); Main.Laden(); if (!Main.quiz.IsNullOrEmpty()) { Main.quizAngefangenZeit = DateTime.Now; Main.quizTimer.Start(); ////Das erste Pflanzenbild anzeigen MainWindow.changeContent(new QuizBildanzeige()); //MainWindow.changeContent(new QuizDateneingabe()); } }
private void Bearbeiten_Click(object sender, RoutedEventArgs e) { //Bearbeiten der Azubis if (azubiReiter) { Azubis auswahl = null; if (Azubiliste.SelectedItem == null) { MessageBox.Show("Niemanden ausgewählt!"); } else { for (int i = 0; i < Main.azubiVerwaltungListe.Count; i++) { if (Azubiliste.SelectedItem.Equals(Main.azubiVerwaltungListe[i])) { auswahl = Main.azubiVerwaltungListe[i]; break; } } MainWindow.changeContent(new BenutzerVerwalten(auswahl)); } } //Bearbeiten der Admins/Ausbilder else if (!azubiReiter) { Administrator auswahl = null; if (Adminliste.SelectedItem == null) { MessageBox.Show("Niemanden ausgewählt!"); } else { for (int l = 0; l < Main.AdminVerwaltungListe.Count; l++) { if (Adminliste.SelectedItem.Equals(Main.AdminVerwaltungListe[l])) { auswahl = Main.AdminVerwaltungListe[l]; break; } } MainWindow.changeContent(new AdminVerwalten(auswahl)); } } }
private void AnmeldungButton_Click(object sender, RoutedEventArgs e) { Main.LadenStart(); string benutzername = AnmeldungBenutzernameTextBox.Text; string passwort = AnmeldungPasswordBox.Password; string hash = Main.GetHashWithSalt(passwort, benutzername); Main.benutzer = Main.api_anbindung.Login(benutzername, hash); Main.Laden(); if (Main.benutzer.IstGueltig) { Main.LadeStatistiken(); MainWindow.changeContent(new Hauptmenü()); } else { MessageBox.Show("Der Benutzer konnte nicht gefunden werden. Mögliche Ursachen:\n" + " • Der Benutzername oder das Passwort ist falsch\n" + " • Es konnte keine Verbindung zur Datenbank hergestellt werden."); } }
private void Weiter_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new QuizDateneingabe()); }
private void Loeschen_Click(object sender, RoutedEventArgs e) { if (azubiReiter) { string nachricht = null; Azubis bestätigen = new Azubis(); Azubis auswahl = null; string azubiName = null; string azubiVorname = null; if (Azubiliste.SelectedItem == null) { MessageBox.Show("Niemanden ausgewählt!"); } else { for (int i = 0; i < Main.azubiVerwaltungListe.Count; i++) { if (Azubiliste.SelectedItem.Equals(Main.azubiVerwaltungListe[i])) { auswahl = Main.azubiVerwaltungListe[i]; break; } } try { azubiName = auswahl.Name; azubiVorname = auswahl.Vorname; nachricht = "Sind sie sich sicher, dass der Benutzer:\n'" + azubiName + ", " + azubiVorname + "'\n gelöscht werden soll?"; string caption = "Löschen?"; var result = MessageBox.Show(nachricht, caption, MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { Main.api_anbindung.BenutzerLoeschen(auswahl.ID, false); MainWindow.changeContent(new Benutzerverwaltung()); } } catch (Exception) { throw; } } } else { string nachricht = null; Administrator bestätigen = new Administrator(); Administrator auswahl = null; string adminName = null; string adminVorname = null; if (Adminliste.SelectedItem == null) { MessageBox.Show("Niemanden ausgewählt!"); } else { for (int i = 0; i < Main.AdminVerwaltungListe.Count; i++) { if (Adminliste.SelectedItem.ToString().Equals(Main.AdminVerwaltungListe[i].nutzername)) { auswahl = Main.AdminVerwaltungListe[i]; break; } } try { adminName = auswahl.Name; adminVorname = auswahl.Vorname; nachricht = "Sind sie sich sicher, dass der Benutzer:\n'" + adminName + ", " + adminVorname + "'\n gelöscht werden soll?"; string caption = "Löschen?"; var result = MessageBox.Show(nachricht, caption, MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { Main.api_anbindung.BenutzerLoeschen(auswahl.ID, true); MainWindow.changeContent(new Benutzerverwaltung()); } } catch (Exception) { throw; } } } }
private void ZuLernendeKategorienEinstellungButton_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new AdminKategorieErstellen()); }
private void Zurück_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new Administration()); }
private void NeuePflanzeButton_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new PflanzenAnlegung()); }
private void Hauptmenü_Click(object sender, System.Windows.RoutedEventArgs e) { MainWindow.changeContent(new Hauptmenü()); }
private void NeuerBenutzer_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new Registrierung()); }
private void AbbrechenButton_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new Administration()); }
private void Benutzerverwaltung_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new Benutzerverwaltung()); }
private void ErscheinendePflanzen_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new ErscheinendePflanzenEinstellung()); }
private void StatistikButton_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new AdminStatistikBenutzerAuswahl()); }
private void QuizArtenVerwalten_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new QuizartenVerwalten()); }
private void Pflanzenbearbeiten_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new AdminPflanzenBearbeitung()); }
private void QuizGroeßeErstellen_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new QuizArtErstellen()); }
private void StatistikButton_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new Statistik()); }
public AdminQuizStatistik() { InitializeComponent(); if (!Main.benutzer.istAdmin) { //ist mir doch egal, ob der Nutzer ein Admin ist //Der Name war tatsächlich nur Clickbait. Diese Klasse ist für alle Benutzer gedacht } if (Main.azubiStatistik == null || Main.azubiStatistik.pflanzen == null || Main.azubiStatistik.pflanzen.Length == 0) { //Das sollte im Übrigen nicht passieren. Aber jetzt ist es halt im Code. Ist wahrscheinlich besser, als wenn das Programm abstürzt. //Eventuell sollte man auch damit umgehen können, wenn während des Quiz das Internet ausgeht. Aber das ist etwas für die Zukunft (wenn überhaupt) System.Windows.MessageBox.Show("Ein Fehler ist aufgetreten! Weiter zum Hauptmenü..."); MainWindow.changeContent(new Hauptmenü()); return; } //Entferne Platzhalter-Daten AllgemeinStackPanel.Children.Clear(); //Bekomme die Antworten StatistikPflanzeAntwort[] antworten = Main.azubiStatistik.pflanzen[Main.momentanePflanzeAusStatistik].antworten; for (int i = 0; i < antworten.Length; i++) { Grid grid = new Grid(); grid.ColumnDefinitions.Add(new ColumnDefinition()); grid.ColumnDefinitions.Add(new ColumnDefinition()); grid.ColumnDefinitions.Add(new ColumnDefinition()); Label kategorieNameLabel = new Label(); kategorieNameLabel.Content = antworten[i].kategorie + ":"; //Setze den Inhalt für das "Korrekt"-Label Label korrekteAntwortLabel = new Label(); korrekteAntwortLabel.Content = antworten[i].korrekt; Label gegebeneAntwortLabel = new Label(); gegebeneAntwortLabel.Content = antworten[i].eingabe; //if(korrekteAntwortLabel.Content.Equals(gegebeneAntwortLabel.Content)) if (Main.IstRichtig(antworten[i].korrekt, antworten[i].eingabe)) { gegebeneAntwortLabel.Foreground = System.Windows.Media.Brushes.LimeGreen; gegebeneAntwortLabel.Content += " ✓"; } else { if (!Main.benutzer.IstWerker) { //Antwort falsch und kein Werker gegebeneAntwortLabel.Foreground = System.Windows.Media.Brushes.Red; gegebeneAntwortLabel.Content += " ×"; } else { if (!antworten[i].WirdFürWerkGewertet) { //Antwort falsch, aber Werker gegebeneAntwortLabel.Foreground = System.Windows.Media.Brushes.Orange; gegebeneAntwortLabel.Content += " /"; } else { //Antwort falsch und Werker, Kategorie wird aber trotzdem gezählt gegebeneAntwortLabel.Foreground = System.Windows.Media.Brushes.Red; gegebeneAntwortLabel.Content += " ×"; } } } //RegisterName(Main.kategorien[i].kategorie + "Label", gegebeneAntwortLabel); grid.Children.Add(kategorieNameLabel); grid.Children.Add(korrekteAntwortLabel); grid.Children.Add(gegebeneAntwortLabel); Grid.SetColumn(korrekteAntwortLabel, 1); Grid.SetColumn(gegebeneAntwortLabel, 2); AllgemeinStackPanel.Children.Add(grid); }//Ende for-Schleife Label notizTextBox = new Label(); notizTextBox.Name = "notizTextBox"; notizTextBox.Margin = new Thickness(10); string notiz = Main.azubiStatistik.pflanzen[Main.momentanePflanzeAusStatistik].notiz; if (notiz != null) { string[] geteilteNotiz = notiz.Split(' '); int abzaehlen = 1; for (int i = 0; i < geteilteNotiz.Length; i++) { notizTextBox.Content += geteilteNotiz[i] + " "; abzaehlen++; if (abzaehlen == 20) { notizTextBox.Content += "\n"; abzaehlen = 1; } } } else { notizTextBox.Content = ""; } NotizStackPanel.Children.Add(notizTextBox); }
private void BugReportButton_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new BugReport()); }
private void WeiterButton_Click(object sender, System.Windows.RoutedEventArgs e) { Main.momentanePflanzeAusStatistik = (Main.momentanePflanzeAusStatistik + 1) % Main.azubiStatistik.pflanzen.Length; MainWindow.changeContent(new AdminQuizStatistik()); }
private void WeiterButton_Click(object sender, System.Windows.RoutedEventArgs e) { Main.momentanePflanzeAusQuiz++; MainWindow.changeContent(new QuizStatistik()); }
private void HauptmenüButton_Click(object sender, RoutedEventArgs e) { MainWindow.changeContent(new Hauptmenü()); }