Exemplo n.º 1
0
        /// <summary>
        /// Sucht ob einen Rekord ist schon im Deutsch_Englisch Tabelle
        /// </summary>
        /// <param name="deutsch"></param>
        /// <param name="englisch"></param>
        /// <returns></returns>
        public bool pruefenKreuzList(Deutsch deutsch, Englisch englisch)
        {
            /*
             * if (deutsch.Uebersetzungen.Contains(englisch))
             * {
             *  return true;
             * }
             * if (englisch.Uebersetzungen.Contains(deutsch))
             * {
             *  return true;
             * }
             */
            using (OleDbConnection conn = new OleDbConnection(_connString))
            {
                using (OleDbCommand command = new OleDbCommand("SELECT COUNT (*) FROM Deutsch_Englisch WHERE DeutschUUID LIKE @dUUID AND EnglischUUID LIKE @eUUID", conn))
                {
                    command.Parameters.AddWithValue("@dUUID", deutsch.GUID);
                    command.Parameters.AddWithValue("@eUUID", englisch.GUID);
                    conn.Open();
                    int count = (int)command.ExecuteScalar();

                    if (count >= 1)
                    {
                        return(true);
                    }
                    conn.Close();
                }
            }



            return(false);
        }
Exemplo n.º 2
0
        private void _alterDatabaseBtn_Click(object sender, EventArgs e)
        {
            DeutschTxt  = DeutschComboBx.Text;
            EnglischTxt = EnglischComboBx.Text;

            Deutsch  dt = new Deutsch(DeutschTxt);
            Englisch en = new Englisch(EnglischTxt);

            while (DeutschTxt == "")
            {
                MessageBox.Show("Deutsch Word fehlt!");
                return;
            }

            while (EnglischTxt == "")
            {
                MessageBox.Show("Englisch Word fehlt!");
                return;
            }

            if ((DeutschComboBx.Text != "") && (EnglischComboBx.Text != ""))
            {
                dt.func(dt, en);
                DeutschComboBx.Text  = "";
                EnglischComboBx.Text = "";
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Speichert deutsch und englisch elements, und GuiD in kreuztabelle
        /// </summary>
        /// <param name="deutsch"></param>
        /// <param name="englisch"></param>
        public void saveDeutscheRekord(Deutsch deutsch, Englisch englisch)
        {
            /*
             * Ist deutsches Rekord in der datenbank ??
             * -->Nein --> deutsches wort in datenbank speichern
             *           + Ist englische Wort dazu in Englisch Tabelle
             *           --> Ja --> getEngWort --> in kreuztabelle speichern
             *           --> Nein --> in datenbank speichern --> kreuztabelle speichern
             * -->Ja --> deutsches wort aus der datenbank laden
             *           + Ist englische Wort dazu in Englisch Tabelle
             *           --> Ja --> getEngWort
             *                      + Ist englishes Wort GUID und deutches Wort GUID schon in kreuztabelle
             *                      --> Ja --> Mach nichts
             *                      --> Nein --> in kreuztabelle speichern
             *           --> Nein --> in datenbank speichern --> kreuztabelle speichern
             */

            if (!(pruefenDeutschList(deutsch)))
            {
                saveDeutschesWord(deutsch);

                if (pruefenEnglischList(englisch))
                {
                    saveKreuzGuid(suchenDeutschRekord(deutsch), suchenEnglischRekord(englisch));
                }
                else
                {
                    saveEnglischWord(englisch);

                    saveKreuzGuid(suchenDeutschRekord(deutsch), suchenEnglischRekord(englisch));
                }
            }
            else
            {
                Deutsch deu = suchenDeutschRekord(deutsch);

                if (pruefenEnglischList(englisch))
                {
                    Englisch eng = suchenEnglischRekord(englisch);

                    if (pruefenKreuzList(deu, eng))
                    {
                        return;
                    }
                    else
                    {
                        saveKreuzGuid(deu, eng);
                    }
                }
                else
                {
                    saveEnglischWord(englisch);

                    saveKreuzGuid(deu, suchenEnglischRekord(englisch));
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Speichert englische Word als neue Rekord in Datenbank
        /// </summary>
        /// <param name="englisch"></param>
        public void saveEnglischWord(Englisch englisch)
        {
            using (OleDbConnection conn = new OleDbConnection(_connString))
            {
                conn.Open();
                //erstellen in englisch
                OleDbCommand command = new OleDbCommand("Insert into Englisch ([Word]) values (?)", conn);
                command.Parameters.AddWithValue("@Word", englisch.Word);
                command.ExecuteNonQuery();

                conn.Close();
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Speichert zwei UUID nummer vom beiden Deutsch und Englisch Aufzeichnungen
        /// </summary>
        /// <param name="deutsch"></param>
        /// <param name="englisch"></param>
        public void saveKreuzGuid(Deutsch deutsch, Englisch englisch)
        {
            deutsch.Englisch = englisch;

            using (OleDbConnection conn = new OleDbConnection(_connString))
            {
                conn.Open();
                //erstellen EnglischGuid und DeutschGuid
                OleDbCommand command = new OleDbCommand("Insert into Deutsch_Englisch ([DeutschUUID],[EnglischUUID]) values (?,?)", conn);
                command.Parameters.AddWithValue("@DeutschUUID", deutsch.GUID);
                command.Parameters.AddWithValue("@EnglischUUID", englisch.GUID);
                command.ExecuteNonQuery();

                conn.Close();
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Sucht für eine Aufzeichnung mit english element, und zurückliefert den Rekord
        /// </summary>
        /// <param name="englisch"></param>
        /// <returns></returns>
        public Englisch suchenEnglischRekord(Englisch englisch)
        {
            BindingList <Englisch> list = GetAllEnglischeWoerter();

            if (englisch != null)
            {
                foreach (Englisch eng in list)
                {
                    if (eng.Word.Equals(englisch.Word, StringComparison.InvariantCultureIgnoreCase)) // if (eng.Word == englisch.Word)
                    {
                        return(eng);
                    }
                }
                return(null);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Zurückliefert eine Bindinglist, die hält, das Englisch Tabelle von Datenbank
        /// </summary>
        /// <returns></returns>
        public BindingList <Englisch> GetAllEnglischeWoerter()
        {
            BindingList <Englisch> list = new BindingList <Englisch>();

            using (OleDbConnection conn = new OleDbConnection(_connString))
            {
                conn.Open();
                //select all from Englisch
                OleDbCommand    command = new OleDbCommand("Select * From Englisch", conn);
                OleDbDataReader reader  = command.ExecuteReader();
                //while read
                while (reader.Read())
                {
                    Englisch englisch = new Englisch("");
                    englisch.GUID = reader[1].ToString();
                    englisch.Word = reader[2].ToString();
                    list.Add(englisch);
                }
                conn.Close();
            }
            return(list);
        }