Example #1
0
 public override void NotifyDeleting()
 {
     base.NotifyDeleting();
     if (OnNotifyDeleting_Fragebogen != null)
     {
         OnNotifyDeleting_Fragebogen(this);
     }
     Antworten.Clear();
     Student.Clear();
 }
 private void buttonSaveQuestionClicked(object sender, EventArgs e)
 {
     //Prüft ob alle Felder gefüllt sind
     if (entryQuestion.Text != null && !entryQuestion.Text.Trim().Equals("") &&
         pickerCategory.SelectedItem != null &&
         entryRightAnwser.Text != null && !entryRightAnwser.Text.Trim().Equals("") &&
         entryWrongAnwser_1.Text != null && !entryWrongAnwser_1.Text.Trim().Equals("") &&
         entryWrongAnwser_2.Text != null && !entryWrongAnwser_2.Text.Trim().Equals("") &&
         entryWrongAnwser_3.Text != null && !entryWrongAnwser_3.Text.Trim().Equals(""))
     {
         if (entryQuestion.Text.Length <= 128 &&
             entryRightAnwser.Text.Length <= 128 &&
             entryWrongAnwser_1.Text.Length <= 128 &&
             entryWrongAnwser_2.Text.Length <= 128 &&
             entryWrongAnwser_3.Text.Length <= 128)
         {
             Fragen    question = new Fragen();
             Antworten a1       = new Antworten();
             Antworten a2       = new Antworten();
             Antworten a3       = new Antworten();
             Antworten a4       = new Antworten();
             question.setText(entryQuestion.Text);
             a1.setText(entryRightAnwser.Text);
             a1.setStatus(true);
             question.setAntworten(a1);
             a2.setText(entryWrongAnwser_1.Text);
             a2.setStatus(false);
             question.setAntworten(a2);
             a3.setText(entryWrongAnwser_2.Text);
             a3.setStatus(false);
             question.setAntworten(a3);
             a4.setText(entryWrongAnwser_3.Text);
             a4.setStatus(false);
             question.setAntworten(a4);
             foreach (Kategorien k in Kategorien.kategorien)
             {
                 if (k.titel.Equals(pickerCategory.SelectedItem))
                 {
                     question.setKategorie(k);
                 }
             }
             Model.Database.SQLiteHelper db = new Model.Database.SQLiteHelper();
             db.AddFrageToDatabase(question);
             Navigation.PushAsync(new MainPage());
         }
         else
         {
             DisplayAlert("Achtung", "Sie dürfen nicht mehr als 127 Zeichen benutzten!", "Okay");
         }
     }
     else
     {
         DisplayAlert("Achtung", "Sie müssen alle Felder mit Werten füllen, wenn Sie speichern wollen!", "Okay");
     }
 }
Example #3
0
        public override void NotifyDeleting()
        {
            base.NotifyDeleting();
            if (OnNotifyDeleting_Fragebogen != null)
            {
                OnNotifyDeleting_Fragebogen(this);
            }

            // FK_Ein_Fragebogen_enthaelt_gute_Antworten ZeroOrMore
            foreach (NHibernatePersistenceObject x in Antworten)
            {
                x.ParentsToDelete.Add(this);
                ChildrenToDelete.Add(x);
            }

            Antworten.Clear();
            Student.Clear();
        }
        public static Collection <Fragen> getAllFragen()
        {
            Collection <Fragen> fragen = new Collection <Fragen>();
            var db = new SQLiteConnection(pathToDb);

            var tableOfFragen         = db.Table <DAOFrage>();
            var tableOfAntworten      = db.Table <DAOAntwort>();
            var tableOfFrageAntwort   = db.Table <DAOFrageAntwort>();
            var tableOfFrageKategorie = db.Table <DAOFrageKategorie>();
            var tableOfKategorien     = db.Table <DAOKategorie>();

            foreach (DAOFrage daoFrage in tableOfFragen)
            {
                Fragen newFrage = new Fragen();
                //set id erstmal ausgelassen
                newFrage.setText(daoFrage.text);
                newFrage.setErklärung(daoFrage.explanation);
                newFrage.setId(daoFrage.Id);
                //add Antwort
                foreach (DAOAntwort daoAntwort in tableOfAntworten)
                {
                    foreach (DAOFrageAntwort fa in tableOfFrageAntwort)
                    {
                        if (fa.FID == daoFrage.Id && fa.AID == daoAntwort.Id)
                        {
                            Antworten newAntwort = new Antworten(daoAntwort.text, daoAntwort.isCorrect);
                            newFrage.setAntworten(newAntwort);
                        }

                        if (fa.id > DAOFrageAntwort.lastId)
                        {
                            DAOFrageAntwort.lastId = fa.id;
                        }
                    }

                    if (daoAntwort.Id > DAOAntwort.lastId)
                    {
                        DAOAntwort.lastId = daoAntwort.Id;
                    }
                }

                //add Kategorie
                foreach (DAOKategorie daoKategorie in tableOfKategorien)
                {
                    foreach (DAOFrageKategorie fk in tableOfFrageKategorie)
                    {
                        if (fk.FID == daoFrage.Id && fk.KID == daoKategorie.Id)
                        {
                            Kategorien newKategorie = new Kategorien(daoKategorie.title, daoKategorie.description);
                            newFrage.setKategorie(newKategorie);
                        }

                        if (fk.id > DAOFrageKategorie.lastId)
                        {
                            DAOFrageKategorie.lastId = fk.id;
                        }
                    }

                    if (daoKategorie.Id > DAOKategorie.lastId)
                    {
                        DAOKategorie.lastId = daoKategorie.Id;
                    }
                }

                if (newFrage.getId() > DAOFrage.lastId)
                {
                    DAOFrage.lastId = newFrage.getId();
                }

                fragen.Add(newFrage);
            }
            return(fragen);
        }