private void UpdateTemplate_OnClick(object sender, RoutedEventArgs e)
        {
            Button button = (Button)sender;

            BewertungModel bewertungModel = (BewertungModel)button.DataContext;

            if (bewertungModel.SelectedBeschreibung == null || bewertungModel.SelectedBeschreibung.Id == 0 ||
                string.IsNullOrWhiteSpace(bewertungModel.Bewertung.Beschreibung))
            {
                Message.ShowWarning("Ungültige Eingabe");
                return;
            }

            var newText = string.Empty;

            foreach (object child in ((StackPanel)button.Parent).Children)
            {
                if (child is TextBox)
                {
                    newText = ((TextBox)child).Text;
                }
            }

            bewertungModel.SelectedBeschreibung.Beschreibung = newText;
            bewertungsBeschreibungDb.UpdateBewertungsBeschreibung(bewertungModel.SelectedBeschreibung, model.Lernende.Vorname);

            RefreshBewertungsBeschreibungen(bewertungModel, (StackPanel)button.Parent);
            Message.ShowSuccess("Die Vorlage ist angepasst!");
        }
        private void DeleteTemplate_OnClick(object sender, RoutedEventArgs e)
        {
            Button         button         = (Button)sender;
            BewertungModel bewertungModel = (BewertungModel)button.DataContext;

            if (bewertungModel.SelectedBeschreibung == null || bewertungModel.SelectedBeschreibung.Id == 0)
            {
                Message.ShowWarning("Du hast keine Vorlage ausgewählt!");
                return;
            }

            bewertungsBeschreibungDb.DeleteBewertungsBeschreibung(bewertungModel.SelectedBeschreibung.Id);
            RefreshBewertungsBeschreibungen(bewertungModel, (StackPanel)button.Parent);
            Message.ShowSuccess("Die Vorlage ist gelöscht!");
        }
        private void UpdateDropBox(BewertungModel bewertungModel, StackPanel stackPanel, EnumNote note)
        {
            ComboBox comboBox = null;

            foreach (object child in stackPanel.Children)
            {
                if (child is ComboBox)
                {
                    comboBox = (ComboBox)child;
                }
            }
            model.BewertungenBeschreibungenModels = new ObservableCollection <BewertungsBeschreibung>();
            foreach (BewertungsBeschreibung item in bewertungsBeschreibungDb.GetBewertungsBeschreibung(bewertungModel.Bewertung.Kategorie, bewertungModel.Bewertung.SubKategorie, note, model.Lernende))
            {
                model.BewertungenBeschreibungenModels.Add(item);
            }
            if (comboBox != null)
            {
                comboBox.ItemsSource = model.BewertungenBeschreibungenModels;
            }
        }
        private void SaveAsNewTemplate_OnClick(object sender, RoutedEventArgs e)
        {
            BewertungModel bewertungModel = (BewertungModel)((Button)sender).DataContext;

            if (bewertungModel == null || string.IsNullOrWhiteSpace(bewertungModel.Bewertung.Beschreibung))
            {
                Message.ShowWarning("Bitte gibt einen gütligen Text ein.");
                return;
            }

            BewertungsBeschreibung bewertungsBeschreibung = new BewertungsBeschreibung();

            bewertungsBeschreibung.SubKategorie = bewertungModel.Bewertung.SubKategorie;
            bewertungsBeschreibung.Kategorie    = bewertungModel.Bewertung.Kategorie;
            bewertungsBeschreibung.Note         = bewertungModel.GetNote();
            bewertungsBeschreibung.Beschreibung = bewertungModel.Bewertung.Beschreibung;
            bewertungsBeschreibung.Id           = bewertungsBeschreibungDb.InsertBewertungsBeschreibung(bewertungsBeschreibung, model.Lernende.Vorname);

            bewertungModel.SelectedBeschreibung = bewertungsBeschreibung;

            RefreshBewertungsBeschreibungen(bewertungModel, (StackPanel)((Button)sender).Parent);
            Message.ShowSuccess("Die neue Vorlage ist gespeichert!");
        }
 private void RefreshBewertungsBeschreibungen(BewertungModel bewertungModel, StackPanel stackPanel)
 {
     UpdateDropBox(bewertungModel, stackPanel, bewertungModel.GetNote());
 }