Ejemplo n.º 1
0
        private void add_baumart_to_db(Baumart baumart)
        {
            SQLiteConnection connection_to_baumart_db = connectToBaumartDB();

            connection_to_baumart_db.Insert(baumart);
            connection_to_baumart_db.Close();
        }
Ejemplo n.º 2
0
        //Organisiert das zusammenführen der Baumarten daten, projektname ist der Name des Projektes auf der SD
        private List <Baumart[]> merge_baumarten(string projektname)
        {
            //Liste aller Baumarten der DB von der SD
            SQLiteConnection connection_to_DB_from_SD = connectToArbeitsDB(projektname);
            List <Baumart>   list_baumarten_sd        = connection_to_DB_from_SD.Table <Baumart>().ToList();

            //Liste aller Baumarten intern
            SQLiteConnection conection_to_baumartDB  = connectToBaumartDB();
            List <Baumart>   list_baumarten_internal = conection_to_baumartDB.Table <Baumart>().ToList();

            //Liste aller BAumarten, die ohne Bearbeitung hinzugefügt werden können
            List <Baumart> list_baumarten_to_add = new List <Baumart>();

            foreach (var baumart in list_baumarten_sd)
            {
                list_baumarten_to_add.Add(baumart);
            }

            //Liste mit allen Baumarten die Bearbeitung brauchen
            List <Baumart[]> list_problem_baumarten = new List <Baumart[]>();

            Baumart[] array_baumart = new Baumart[2];
            foreach (var baumart in list_baumarten_sd)
            {
                if (list_baumarten_internal.Exists(x => x.NameBotanisch == baumart.NameBotanisch) && baumart.NameBotanisch.Length != 0)
                {
                    Baumart baumart_internal = list_baumarten_internal.Find(x => x.NameBotanisch == baumart.NameBotanisch);

                    if (baumart_internal.NameDeutsch == baumart.NameDeutsch)
                    {
                        list_baumarten_to_add.Remove(baumart);
                    }
                    else
                    {
                        array_baumart[0] = baumart;
                        array_baumart[1] = baumart_internal;

                        list_problem_baumarten.Add(array_baumart);
                        list_baumarten_to_add.Remove(baumart);
                    }
                }
                else if (list_baumarten_internal.Exists(x => x.NameDeutsch == baumart.NameDeutsch) && baumart.NameDeutsch.Length != 0)
                {
                    Baumart baumart_internal = list_baumarten_internal.Find(x => x.NameDeutsch == baumart.NameDeutsch);
                    if (baumart_internal.NameBotanisch == baumart.NameBotanisch)
                    {
                        list_baumarten_to_add.Remove(baumart);
                    }
                    else
                    {
                        array_baumart[0] = baumart;
                        array_baumart[1] = baumart_internal;

                        list_problem_baumarten.Add(array_baumart);
                        list_baumarten_to_add.Remove(baumart);
                    }
                }
            }

            //Hinzufügen aller Baumarten die keiner Bearbeitung bedürfen zur internen DB
            add_baumarten_list_to_db(list_baumarten_to_add);

            return(list_problem_baumarten);
        }