Example #1
0
        //Macht eine Update-Query auf cfy_kunden wobei nur der Status auf inaktiv gesetzt wird und gleichzeitig in cfy_geloescht ein Log geschrieben wird.
        public void UpdateCustomer(string table, string objektId)
        {
            int   unix_zeitpunkt = 0;
            Datum time           = new Datum();

            unix_zeitpunkt = time.unix();
            // Update query erstellen
            string query = "UPDATE " + table + " SET status = 1 where objekt_id = " + objektId + ";";

            //Objekte für Log und Get erstellen
            MySQLInsertLog log = new MySQLInsertLog();
            MySQLGetData   get = new MySQLGetData();

            //Information, dass ein Datensatz auf inaktiv gesetzt wurde cfy_geloecht entspricht cfy_inkativ heißt aktuell nur anders in der Datenbank
            log.InsertIntoGeloescht("cfy_kunden", get.GetIdfromTable("cfy_kunden", objektId), objektId.ToString());

            //Query ausführen
            try {
                if (OpenConnection() == true)
                {
                    MySqlCommand cmd = new MySqlCommand(query, connection);
                    //Ausführen
                    cmd.ExecuteNonQuery();
                    //Verbindung schließen
                    CloseConnection();
                }
            } catch (MySqlException ex) {
                //Falls die Query Fehlerhaft ist, die MySQL Exception Nummer ausgeben. Die MySQL Exception Nummern kann man nachlesen in gängigen Internet-Tabellen
                Console.WriteLine("MySQL Fehler: " + ex.Number);
            }
        }
Example #2
0
        public void Fill_Tables()
        {
            MySQLGetData  get         = new MySQLGetData();
            List <string> table_names = get.GetTableNames();


//			füllen der Tabellen mit den Daten...
            if (!datenGeladen)
            {
                try {
                    Console.Write("Lade Daten Bitte warten");
                    foreach (string item1 in table_names)
                    {
                        if (item1.Contains("cfy_"))
                        {
                            if (!(item1.Contains("cfy_rohdaten")))
                            {
                                //Console.WriteLine(item1);
                                tables.Add(item1, get.getTableData(item1));
                                //Console.WriteLine ("...geladen");

                                for (int i = 0; i < tables [item1].Length; i++)
                                {
                                    anzahlDatensätze += tables [item1] [i].Count;
                                }
                            }
                        }
                    }
                    datenGeladen = true;
                    List <string> keys = new List <string> (tables.Keys);
                    KeyList = keys;

                    Console.WriteLine("Daten laden abgeschlossen," + anzahlDatensätze + " Datensätze geladen");
                } catch {
                    datenGeladen = false;
                }
            }

//			Beispiel für den Zugriff auf Daten einer Tabelle: [tabellenname][spaltennummer][zeilennummer]
//			Rückgabewert ist ein string...
//			Die Länge einer Liste z.B. der Spaltenanzahl bekommt man folgendermaßen:
//			mylist.Length -> Anzahl der Spalten
//			mylist[0].Count -> Anzahl der Zeilen in der ersten Spalte



//			Beispiel1:
//			List<string>[] mylist = get.getTableData ("cfy_cluster");
//			for (int i = 0; i < (mylist [1].Count / 2); i++) {
//				Console.WriteLine (tables ["cfy_cluster"] [0] [i].ToString ());
//			}
//			Gibt die Hälfte aller Strings in der ersten Spalte von der Tabelle cfy_cluster aus.
        }
Example #3
0
        private void StartCompareTwoValued()
        {
            //Objekt für MySQLGetData anlegen
            MySQLGetData get = new MySQLGetData();

            //GPS_LANGENGRAD + GPS_BREITENGRAD

            //Zuerst alle aus der Datenbank geladenen Elemente in der Datenbank auf 1 => inaktiv setzen
            for (int i = 0; i < LoadMySQLData.tables["cfy_gps"][0].Count; i++)
            {
                insert.ChangeStatus("cfy_gps", LoadMySQLData.tables ["cfy_gps"] [0] [i], LoadMySQLData.tables ["cfy_gps"] [1] [i], true);
            }
            //Jeden neuen Datensatz einlesen
            foreach (MEClary.Clary.Clary_List item1 in MEClary.Clary.cfy_rohdaten)
            {
                bool wurdeGefunden = false;
                //Jeden alten Datensatz einlesen
                for (int i = 0; i < LoadMySQLData.tables["cfy_gps"][0].Count; i++)
                {
                    //Beide GPS-Daten miteinander vergleichen, wenn gleich, dann
                    if (item1.gps_langengrad == LoadMySQLData.tables ["cfy_gps"] [0] [i] &&
                        item1.gps_breitengrad == LoadMySQLData.tables ["cfy_gps"] [1] [i])
                    {
                        //... auf 0=> aktiv setzen
                        insert.ChangeStatus("cfy_gps", LoadMySQLData.tables ["cfy_gps"] [0] [i], LoadMySQLData.tables ["cfy_gps"] [1] [i], false);

                        wurdeGefunden = true;
                    }
                }
                if (!wurdeGefunden)
                {
                    //Falls ein Datensatz nicht gefunden wurde, wird er eingefügt, gleichzeitig
                    //auf aktiv gesetzt und ...
                    insert.Insert("cfy_gps", item1.gps_langengrad.ToString(), item1.gps_breitengrad.ToString());

                    //Den Information, dass ein neuer Datensatz angelegt wurde in cfy_erstellt einfügen
                    log.InsertIntoErstellt("cfy_gps", get.GetIdfromTable("cfy_gps", item1.objekt_id.ToString()), item1.objekt_id.ToString());
                    //Den Counter erhöhen
                    insertCounter = insertCounter + 1;

                    //...der Dictionary Liste hinzugefügt. Sonst wird der gleiche Datensatz mehrfach eingefügt.
                    LoadMySQLData.tables ["cfy_gps"] [0].Add(item1.gps_langengrad.ToString());
                    LoadMySQLData.tables ["cfy_gps"] [1].Add(item1.gps_breitengrad.ToString());
                }
            }
        }
Example #4
0
        private void StartCompareDataTable()
        {
            MySQLGetData get = new MySQLGetData();

            //bool status = false;
            //Daten neu Laden. Weil die IDs neu gesetzt werden müssen(In den einzelnen Tabellen)
            //LoadMySQLData load = new LoadMySQLData ();
            //Daten geladen...
            /*edit Es werden nur Datenbankabfragen für jede ID ausgeführt. Geht schneller.*/
            //DATEN
            foreach (MEClary.Clary.Clary_List item1 in MEClary.Clary.cfy_rohdaten)
            {
                bool wurdeGefunden = false;
                for (int i = 0; i < LoadMySQLData.tables["cfy_daten"][13].Count; i++)
                {
                    if (item1.objekt_id.ToString() == LoadMySQLData.tables ["cfy_daten"] [13] [i] && LoadMySQLData.tables ["cfy_daten"] [16] [i] == "False")
                    {
                        if (get.GetIdfromTable("cfy_sq", item1.signalquelle_id) == "" ||
                            get.GetIdfromTable("cfy_sqtyp", item1.type) == "" ||
                            get.GetIdfromTable("cfy_signallieferant", item1.signallieferant) == "" ||
                            get.GetIdfromTable("cfy_cmts", item1.cmts) == "" ||
                            get.GetIdfromTable("cfy_cluster", item1.cluster_id) == "" ||
                            get.GetIdfromTable("cfy_ort", item1.ort) == "" ||
                            get.GetIdfromTable("cfy_plz", item1.plz) == "" ||
                            get.GetIdfromTable("cfy_strasse", item1.strasse) == "" ||
                            get.GetIdfromTable("cfy_hnr", item1.hnr) == "" ||
                            get.GetIdfromTable("cfy_gestattungsgeber_daten", item1.gestatt_vertragsn) == "" ||
                            get.GetIdfromTable("cfy_gestattungsgeber_name", item1.gestatt_name) == "" ||
                            get.GetIdfromTable("cfy_gps", item1.gps_langengrad, item1.gps_breitengrad) == "" ||
                            get.GetIdfromTable(item1.objekt_id.ToString()) == "")
                        {
                            string[] idList = new string[15];
                            idList [0]  = get.GetIdfromTable("cfy_sq", item1.signalquelle_id);
                            idList [1]  = get.GetIdfromTable("cfy_sqtyp", item1.type);
                            idList [2]  = get.GetIdfromTable("cfy_signallieferant", item1.signallieferant);
                            idList [3]  = get.GetIdfromTable("cfy_cmts", item1.cmts);
                            idList [4]  = get.GetIdfromTable("cfy_cluster", item1.cluster_id);
                            idList [5]  = get.GetIdfromTable("cfy_ort", item1.ort);
                            idList [6]  = get.GetIdfromTable("cfy_plz", item1.plz);
                            idList [7]  = get.GetIdfromTable("cfy_strasse", item1.strasse);
                            idList [8]  = get.GetIdfromTable("cfy_hnr", item1.hnr);
                            idList [9]  = get.GetIdfromTable("cfy_gestattungsgeber_daten", item1.gestatt_vertragsn);
                            idList [10] = get.GetIdfromTable("cfy_gestattungsgeber_name", item1.gestatt_name);
                            idList [11] = item1.objekt_id.ToString();
                            idList [12] = get.GetIdfromTable("cfy_gps", item1.gps_langengrad, item1.gps_breitengrad);
                            idList [13] = get.GetIdfromTable(item1.objekt_id.ToString());
                            idList [14] = item1.region.ToString();
                            insert.InsertIntoData(idList);

                            insert.UpdateCustomer("cfy_daten", item1.objekt_id.ToString());

                            log.InsertIntoUpdate("cfy_daten", idList[13], idList[11]);
                            updateCounter = updateCounter + 1;
                        }
                        wurdeGefunden = true;                         //ObjektId existiert bereits
                    }
                }
                if (!wurdeGefunden)
                {
                    //Falls ein Datensatz nicht gefunden wurde, wird er eingefügt, gleichzeitig
                    //auf aktiv gesetzt und ...
                    //insert.Insert ("","");
                    //insertCounter += 1;

                    //...der Dictionary Liste hinzugefügt. Sonst wird der gleiche Datensatz mehrfach eingefügt.
                    //LoadMySQLData.tables ["cfy_kunden"] [0].Add ("");

                    string[] idList = new string[15];
                    idList [0]  = get.GetIdfromTable("cfy_sq", item1.signalquelle_id);
                    idList [1]  = get.GetIdfromTable("cfy_sqtyp", item1.type);
                    idList [2]  = get.GetIdfromTable("cfy_signallieferant", item1.signallieferant);
                    idList [3]  = get.GetIdfromTable("cfy_cmts", item1.cmts);
                    idList [4]  = get.GetIdfromTable("cfy_cluster", item1.cluster_id);
                    idList [5]  = get.GetIdfromTable("cfy_ort", item1.ort);
                    idList [6]  = get.GetIdfromTable("cfy_plz", item1.plz);
                    idList [7]  = get.GetIdfromTable("cfy_strasse", item1.strasse);
                    idList [8]  = get.GetIdfromTable("cfy_hnr", item1.hnr);
                    idList [9]  = get.GetIdfromTable("cfy_gestattungsgeber_daten", item1.gestatt_vertragsn);
                    idList [10] = get.GetIdfromTable("cfy_gestattungsgeber_name", item1.gestatt_name);
                    idList [11] = item1.objekt_id.ToString();
                    idList [12] = get.GetIdfromTable("cfy_gps", item1.gps_langengrad, item1.gps_breitengrad);
                    idList [13] = get.GetIdfromTable(item1.objekt_id.ToString());
                    idList [14] = item1.region.ToString();
                    insert.InsertIntoData(idList);


                    log.InsertIntoErstellt("cfy_daten", idList[13], idList[11]);
                    log.InsertCreateTimeIntoDaten(idList[11]);

                    insertCounter += 1;

                    //...der Dictionary Liste hinzugefügt. Sonst wird der gleiche Datensatz mehrfach eingefügt.
                    LoadMySQLData.tables ["cfy_daten"] [0].Add(idList [0]);
                    LoadMySQLData.tables ["cfy_daten"] [1].Add(idList [1]);
                    LoadMySQLData.tables ["cfy_daten"] [3].Add(idList [2]);
                    LoadMySQLData.tables ["cfy_daten"] [4].Add(idList [3]);
                    LoadMySQLData.tables ["cfy_daten"] [5].Add(idList [4]);
                    LoadMySQLData.tables ["cfy_daten"] [6].Add(idList [5]);
                    LoadMySQLData.tables ["cfy_daten"] [7].Add(idList [6]);
                    LoadMySQLData.tables ["cfy_daten"] [8].Add(idList [7]);
                    LoadMySQLData.tables ["cfy_daten"] [9].Add(idList [8]);
                    LoadMySQLData.tables ["cfy_daten"] [10].Add(idList [9]);
                    LoadMySQLData.tables ["cfy_daten"] [11].Add(idList [10]);
                    LoadMySQLData.tables ["cfy_daten"] [13].Add(idList [11]);
                    LoadMySQLData.tables ["cfy_daten"] [14].Add(idList [12]);
                    LoadMySQLData.tables ["cfy_daten"] [15].Add(idList [13]);
                    LoadMySQLData.tables ["cfy_daten"] [21].Add(idList [14]);
                }
            }
        }
Example #5
0
        private void StartCompareMultiValued()
        {
            bool         status = false;
            MySQLGetData get    = new MySQLGetData();

            //KUNDEN
            for (int i = 0; i < LoadMySQLData.tables["cfy_kunden"][0].Count; i++)
            {
                insert.ChangeStatusInCustomer("cfy_kunden", LoadMySQLData.tables ["cfy_kunden"] [5] [i], true);
            }
            foreach (MEClary.Clary.Clary_List item1 in MEClary.Clary.cfy_rohdaten)
            {
                bool wurdeGefunden = false;

                for (int i = 0; i < LoadMySQLData.tables["cfy_kunden"][5].Count; i++)
                {
                    //Bis hier wie bei allen anderen Datensätzen gleichbleibend

                    if (item1.objekt_id.ToString() == LoadMySQLData.tables ["cfy_kunden"] [5] [i])
                    {
                        insert.ChangeStatusInCustomer("cfy_kunden", LoadMySQLData.tables ["cfy_kunden"] [5] [i], false);
                        //Ab hier: Falls für ein Objekt_Id eine neuer Datensatz anders ist, erfolgt ein...
                        if ((item1.soll_we.ToString() != LoadMySQLData.tables ["cfy_kunden"] [0] [i].ToString() ||
                             item1.subscriber.ToString() != LoadMySQLData.tables ["cfy_kunden"] [1] [i].ToString() ||
                             item1.subscriber_int.ToString() != LoadMySQLData.tables ["cfy_kunden"] [2] [i].ToString() ||
                             item1.subscriber_tel.ToString() != LoadMySQLData.tables ["cfy_kunden"] [3] [i].ToString()) &&
                            status.ToString() == LoadMySQLData.tables ["cfy_kunden"] [4] [i].ToString())
                        {
                            //Ein neuer Datensatz wird eingefügt
                            insert.Insert("cfy_kunden",
                                          item1.soll_we.ToString(),
                                          item1.subscriber.ToString(),
                                          item1.subscriber_int.ToString(),
                                          item1.subscriber_tel.ToString(),
                                          item1.objekt_id.ToString());
                            //Update von cfy_kunden. Hier wird nur der alte Datensatz auf Inaktiv gesetzt
                            insert.UpdateCustomer("cfy_kunden", item1.objekt_id.ToString());

                            log.InsertIntoUpdate("cfy_kunden", get.GetIdfromTable("cfy_kunden", item1.objekt_id.ToString()), item1.objekt_id.ToString());
                            updateCounter = updateCounter + 1;
                        }
                        wurdeGefunden = true;
                    }
                }
                if (!wurdeGefunden)
                {
                    //Falls ein Datensatz nicht gefunden wurde, wird er eingefügt, gleichzeitig
                    //auf aktiv gesetzt und ...
                    insert.Insert("cfy_kunden",
                                  item1.soll_we.ToString(),
                                  item1.subscriber.ToString(),
                                  item1.subscriber_int.ToString(),
                                  item1.subscriber_tel.ToString(),
                                  item1.objekt_id.ToString());
                    insertCounter += 1;
                    log.InsertIntoErstellt("cfy_kunden", get.GetIdfromTable("cfy_kunden", item1.objekt_id.ToString()), item1.objekt_id.ToString());


                    //...der Dictionary Liste hinzugefügt. Sonst wird der gleiche Datensatz mehrfach eingefügt.
                    LoadMySQLData.tables ["cfy_kunden"] [0].Add(item1.soll_we.ToString());
                    LoadMySQLData.tables ["cfy_kunden"] [1].Add(item1.subscriber.ToString());
                    LoadMySQLData.tables ["cfy_kunden"] [2].Add(item1.subscriber_int.ToString());
                    LoadMySQLData.tables ["cfy_kunden"] [3].Add(item1.subscriber_tel.ToString());
                    LoadMySQLData.tables ["cfy_kunden"] [4].Add(status.ToString());
                    LoadMySQLData.tables ["cfy_kunden"] [5].Add(item1.objekt_id.ToString());

                    //LOG schreiben
                }
            }
        }