public static void CreateConfigFile(String fileName, JObject config)
        {
            Directory.CreateDirectory(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "KwpMyCraftnoteSyncAdapter\\"));
            try
            {
                ////////////////////////////////////
                /// Read all values from JObject ///
                /// and update all values        ///
                ////////////////////////////////////
                host     = (string)config["host"];
                username = (string)config["username"];
                password = (string)config["password"];
                database = (string)config["database"];
                database = (string)config["database"];
                instance = (string)config["instance"];
                limit    = (int)config["limit"];
                interval = (double)config["interval"];
                apikey   = (string)config["apikey"];
                keyword  = (string)config["keyword"];
                current  = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss.fff");
            }
            catch (Exception e)
            {
                Console.WriteLine("Error while processing the config file. Using fallback values. Please check the Configfile for any issues");
                Console.WriteLine(e.ToString());
                LogfileHandler.Log("Error in Configfile: " + e.ToString());
            }

            ////////////////////////////////////////////////////////////////////////////////
            /// Rewriting Configfile to avoid malconfig and to update lastsync timestamp ///
            ////////////////////////////////////////////////////////////////////////////////
            File.WriteAllText(fileName, string.Empty);
            ///////////////////////////////////////////////////
            /// New JObject with updated Value for lastsync ///
            ///////////////////////////////////////////////////
            JObject json = new JObject(new JProperty("host", host), new JProperty("username", username), new JProperty("password", password), new JProperty("database", database), new JProperty("instance", instance), new JProperty("last_sync", current), new JProperty("limit", limit), new JProperty("apikey", apikey), new JProperty("interval", interval), new JProperty("keyword", keyword));

            ////////////////////////////////////////////////////
            /// Opening Filestream and write JObject to File ///
            ////////////////////////////////////////////////////
            using (FileStream fs = File.Create(fileName))
            {
                //////////////////////////////
                /// JObject to Byte array ///
                ////////////////////////////
                Byte[] contents = new UTF8Encoding(true).GetBytes(json.ToString());

                ///////////////////////////////////
                /// Writing Byte array to File ///
                /////////////////////////////////
                fs.Write(contents, 0, contents.Length);
                Console.WriteLine("Configfile successfuly updated");
                LogfileHandler.Log("Configfile updated");
            }
        }
        public static void CheckUpdate(Version version)
        {
            try
            {
                Directory.CreateDirectory(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "KwpMyCraftnoteSyncAdapter\\"));

                Console.WriteLine("Prüfe auf aktualisierung");
                WebClient myWebClient = new WebClient();
                myWebClient.DownloadFile("https://server01.nibot.me/kwpcraftnote/update.json", filePath);

                if (File.Exists(filePath) && new FileInfo(filePath).Length != 0)
                {
                    /////////////////////////////////////////////////////////////////////////////
                    /// Open a StreamReader to read the filecontent an parse it to a JObject ///
                    ///////////////////////////////////////////////////////////////////////////
                    using (StreamReader r = new StreamReader(filePath))
                    {
                        string  json        = r.ReadToEnd();
                        JObject filecontent = JObject.Parse(json);
                        LogfileHandler.Log("update.json content: " + filecontent.ToString());
                        Version newVersion = Version.Parse(filecontent["version"].ToString());
                        if (version < newVersion)
                        {
                            Console.WriteLine("Update avilable");
                            myWebClient.DownloadFile("https://server01.nibot.me/kwpcraftnote/update.exe", filePathExe);
                            if (File.Exists(filePathExe) && new FileInfo(filePathExe).Length != 0)
                            {
                                Process.Start(Path.Combine(filePathExe + " /SILENT"));
                                LogfileHandler.Log("Update started");
                                System.Environment.Exit(0);
                            }
                        }
                        else
                        {
                            LogfileHandler.Log("Version is not Higher");
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                LogfileHandler.Log("Update Error: " + e.ToString());
                MessageBox.Show("Bitte lassen sie Dieses Fenster Geöffnet und informieren sie ihren Systemadministrator \n\n\n" + e.ToString(), "KWP -> MyCraftnote Projekt Synchronisation             Schwerwiegender Fehler!!! ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                System.Threading.Thread.Sleep(5000);
                System.Environment.Exit(1);
            }
        }
        ///<summary>Read Configfile or create on if not Exists</summary>
        /// <returns>Returns Configfile content as JObject</returns>
        public static JObject ReadConfigfile(string path)
        {
            /////////////////////////////////////////////////
            /// Checking if file exists and is not empty ///
            ///////////////////////////////////////////////
            if (File.Exists(path) && new FileInfo(path).Length != 0)
            {
                /////////////////////////////////////////////////////////////////////////////
                /// Open a StreamReader to read the filecontent an parse it to a JObject ///
                ///////////////////////////////////////////////////////////////////////////
                using (StreamReader r = new StreamReader(path))
                {
                    string  json        = r.ReadToEnd();
                    JObject filecontent = JObject.Parse(json);
                    return(filecontent);
                }
            }
            else
            {
                /////////////////////////////////////////////////
                /// Creating JObject with the default values ///
                ///////////////////////////////////////////////
                JObject json = new JObject(new JProperty("host", "localhost"), new JProperty("username", "sa"), new JProperty("password", "kwpsarix"), new JProperty("database", "BNWINS"), new JProperty("instance", "kwp"), new JProperty("last_sync", ""), new JProperty("limit", 10), new JProperty("apikey", ""), new JProperty("interval", 10.0), new JProperty("keyword", "craftnote"));
                ////////////////////////////////////////////////////
                /// Opening Filestream and write JObject to File ///
                ////////////////////////////////////////////////////
                using (FileStream fs = File.Create(path))
                {
                    //////////////////////////////
                    /// JObject to Byte array ///
                    ////////////////////////////
                    Byte[] contents = new UTF8Encoding(true).GetBytes(json.ToString());

                    ///////////////////////////////////
                    /// Writing Byte array to File ///
                    /////////////////////////////////
                    fs.Write(contents, 0, contents.Length);
                    Console.WriteLine("Configfile successfuly created");
                    LogfileHandler.Log("Configfile created");
                }
                return(json);
            }
        }
Пример #4
0
        ///<summary>Creates JObject for a Project and sends a Post request to the Carftnote Api</summary>
        public async static void SendProjects(List <Models.Project> projects, string apikey)
        {
            for (var i = 0; i < projects.Count; i++)
            {
                ////////////////////////////////////////////////
                /// Deleting evry slash from the Phonenumber ///
                ////////////////////////////////////////////////
                if (projects[i].BauHrAdrTelNr != null)
                {
                    projects[i].BauHrAdrTelNr = projects[i].BauHrAdrTelNr.Replace("/", "");
                }

                /////////////////////////////////////////////////
                /// Creating JObject with the Project values ///
                ///////////////////////////////////////////////
                if (projects[i].ProjBezeichnung.Length != 0)
                {
                    JArray contactPersons = new JArray();
                    if (projects[i].ProjAdr != projects[i].BauHrAdr)
                    {
                        contactPersons.Add(new JObject(
                                               new JProperty("name", projects[i].ProjAdrAnrede + " " + projects[i].ProjAdrVorname + " " + projects[i].ProjAdrName),
                                               new JProperty("email", projects[i].ProjAdrEmail),
                                               new JProperty("phone", projects[i].ProjAdrTelNr)
                                               ));

                        if (projects[i].BauHrAdr != projects[i].RechAdr)
                        {
                            contactPersons.Add(new JObject(
                                                   new JProperty("name", projects[i].BauHrAdrAnrede + " " + projects[i].BauHrAdrVorname + " " + projects[i].BauHrAdrName),
                                                   new JProperty("email", projects[i].BauHrAdrEmail),
                                                   new JProperty("phone", projects[i].BauHrAdrTelNr)
                                                   ));
                            contactPersons.Add(new JObject(
                                                   new JProperty("name", projects[i].RechAdrAnrede + " " + projects[i].RechAdrVorname + " " + projects[i].RechAdrName),
                                                   new JProperty("email", projects[i].RechAdrEmail),
                                                   new JProperty("phone", projects[i].RechAdrTelNr)
                                                   ));
                        }
                        else
                        {
                            contactPersons.Add(new JObject(
                                                   new JProperty("name", projects[i].BauHrAdrAnrede + " " + projects[i].BauHrAdrVorname + " " + projects[i].BauHrAdrName),
                                                   new JProperty("email", projects[i].BauHrAdrEmail),
                                                   new JProperty("phone", projects[i].BauHrAdrTelNr)
                                                   ));
                        }
                    }
                    else
                    {
                        contactPersons.Add(new JObject(
                                               new JProperty("name", projects[i].ProjAdrAnrede + " " + projects[i].ProjAdrVorname + " " + projects[i].ProjAdrName),
                                               new JProperty("email", projects[i].ProjAdrEmail),
                                               new JProperty("phone", projects[i].ProjAdrTelNr)
                                               ));
                    }

                    if (projects[i].ProjectAdrAnsprechpartner != null)
                    {
                        contactPersons.Add(new JObject(
                                               new JProperty("name", projects[i].ProjectAdrAnsprechpartner.Anrede + " " + projects[i].ProjectAdrAnsprechpartner.Vorname + " " + projects[i].ProjectAdrAnsprechpartner.Nachname),
                                               new JProperty("email", projects[i].ProjectAdrAnsprechpartner.Email),
                                               new JProperty("phone", projects[i].ProjectAdrAnsprechpartner.Telefonnummer)));
                        if (projects[i].ProjectAdrAnsprechpartner.TelefonnummerPrivat != "" || projects[i].ProjectAdrAnsprechpartner.EmailPrivat != "")
                        {
                            contactPersons.Add(new JObject(
                                                   new JProperty("name", projects[i].ProjectAdrAnsprechpartner.Anrede + " " + projects[i].ProjectAdrAnsprechpartner.Vorname + " " + projects[i].ProjectAdrAnsprechpartner.Nachname + "(Privat)"),
                                                   new JProperty("email", projects[i].ProjectAdrAnsprechpartner.EmailPrivat),
                                                   new JProperty("phone", projects[i].ProjectAdrAnsprechpartner.TelefonnummerPrivat)));
                        }
                    }
                    if (projects[i].BauHrAdrAnsprechpartner != null)
                    {
                        contactPersons.Add(new JObject(
                                               new JProperty("name", projects[i].BauHrAdrAnsprechpartner.Anrede + " " + projects[i].BauHrAdrAnsprechpartner.Vorname + " " + projects[i].BauHrAdrAnsprechpartner.Nachname),
                                               new JProperty("email", projects[i].BauHrAdrAnsprechpartner.Email),
                                               new JProperty("phone", projects[i].BauHrAdrAnsprechpartner.Telefonnummer)));
                        if (projects[i].BauHrAdrAnsprechpartner.TelefonnummerPrivat != "" || projects[i].BauHrAdrAnsprechpartner.EmailPrivat != "")
                        {
                            contactPersons.Add(new JObject(
                                                   new JProperty("name", projects[i].BauHrAdrAnsprechpartner.Anrede + " " + projects[i].BauHrAdrAnsprechpartner.Vorname + " " + projects[i].BauHrAdrAnsprechpartner.Nachname + "(Privat)"),
                                                   new JProperty("email", projects[i].BauHrAdrAnsprechpartner.EmailPrivat),
                                                   new JProperty("phone", projects[i].BauHrAdrAnsprechpartner.TelefonnummerPrivat)));
                        }
                    }
                    if (projects[i].RechAdrAnsprechpartner != null)
                    {
                        contactPersons.Add(new JObject(
                                               new JProperty("name", projects[i].RechAdrAnsprechpartner.Anrede + " " + projects[i].RechAdrAnsprechpartner.Vorname + " " + projects[i].RechAdrAnsprechpartner.Nachname),
                                               new JProperty("email", projects[i].RechAdrAnsprechpartner.Email),
                                               new JProperty("phone", projects[i].RechAdrAnsprechpartner.Telefonnummer)));
                        if (projects[i].RechAdrAnsprechpartner.TelefonnummerPrivat != "" || projects[i].RechAdrAnsprechpartner.EmailPrivat != "")
                        {
                            contactPersons.Add(new JObject(
                                                   new JProperty("name", projects[i].RechAdrAnsprechpartner.Anrede + " " + projects[i].RechAdrAnsprechpartner.Vorname + " " + projects[i].RechAdrAnsprechpartner.Nachname + "(Privat)"),
                                                   new JProperty("email", projects[i].RechAdrAnsprechpartner.EmailPrivat),
                                                   new JProperty("phone", projects[i].RechAdrAnsprechpartner.TelefonnummerPrivat)));
                        }
                    }

                    JObject json = new JObject(
                        new JProperty("name", projects[i].ProjBezeichnung),
                        new JProperty("orderNumber", projects[i].ProjNr),
                        new JProperty("street", projects[i].ProjAdrStrasse),
                        new JProperty("zipcode", projects[i].ProjAdrOrtPLZ),
                        new JProperty("city", projects[i].ProjAdrOrtOrt),
                        new JProperty("contact", contactPersons)
                        );

                    LogfileHandler.Log("Json Body: " + json.ToString());

                    if (apikey.Length != 0)
                    {
                        ///////////////////////////////////////////////
                        /// Sending JObject to the MyCraftnote Api ///
                        /////////////////////////////////////////////
                        using (var client = new HttpClient())
                        {
                            String jsonString = "";
                            var    response   = await client.PostAsync(
                                "https://europe-west1-craftnote-live.cloudfunctions.net/v1/createproject?apikey=" + apikey,
                                new StringContent(json.ToString(), Encoding.UTF8, "application/json"));

                            if (response.IsSuccessStatusCode)
                            {
                                jsonString = await response.Content.ReadAsStringAsync();
                            }
                            ////////////////////////////
                            /// Printing Api Result ///
                            //////////////////////////
                            LogfileHandler.Log("Http respinse: " + response);
                            LogfileHandler.Log("Json Body" + jsonString);
                            try
                            {
                                JObject responseJson = JObject.Parse(jsonString);
                                Console.WriteLine("\nProject Urls: " + responseJson["weblink"] + " || " + responseJson["appDeepLink"]);
                            }
                            catch (Exception e)
                            {
                                Console.WriteLine(e.ToString());
                                LogfileHandler.Log("Update Error: " + e.ToString());
                                MessageBox.Show("Bitte lassen sie Dieses Fenster Geöffnet und informieren sie ihren Systemadministrator \n\n\n" + e.ToString(), "KWP -> MyCraftnote Projekt Synchronisation             Schwerwiegender Fehler!!! ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                System.Threading.Thread.Sleep(5000);
                                System.Environment.Exit(1);
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("kein ApiKey vorhanden");
                        LogfileHandler.Log("No ApiKey available");
                    }
                }
                else
                {
                    Console.WriteLine("Projekt bezeichnung nicht verfügbar");
                    LogfileHandler.Log("No Project Name available");
                }
            }
        }
Пример #5
0
        static void Main(string[] args)
        {
            System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
            version = assembly.GetName().Version;
            UpdateHandler.CheckUpdate(version);



            //////////////////////////////////////////////////////
            /// Searches commandline args for a Configfilepath ///
            //////////////////////////////////////////////////////
            LogfileHandler.Log("Configfile: " + configfilePath);

            if (!ConfigfileHandler.CheckIfConfigFileExists(configfilePath))
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Dies ist der Erste start der Anwendung. Als ertses müssen wir noc ein paar sachen Wissen.");
                Console.Write("Bitte Geben sie die IPAdresse des Computers mit dem Installierten Sqlservers an (localhost): ");
                host = Console.ReadLine();
                if (host.Length == 0)
                {
                    host = "localhost";
                }
                Console.Write("Bitte Geben sie jetzt die Sqlserver Instanz ein (kwp): ");
                instance = Console.ReadLine();
                if (instance.Length == 0)
                {
                    instance = "kwp";
                }
                Console.Write("Bitte Geben sie Jetzt die Start Datenbank ein (BNWINS): ");
                database = Console.ReadLine();
                if (database.Length == 0)
                {
                    database = "BNWINS";
                }
                Console.Write("Bitte geben sie jetz den Benutzernamen der Sqlserverinstanz ein (sa): ");
                username = Console.ReadLine();
                if (username.Length == 0)
                {
                    username = "******";
                }
                Console.Write("Bitte geben sie jetzt das Passwort der Sqlserverinstanz ein (kwpsarix): ");
                password = Console.ReadLine();
                if (password.Length == 0)
                {
                    password = "******";
                }
                Console.Write("Bitte geben sie jetzt den MyCraftnote API Schlüssel ein: ");
                apikey = Console.ReadLine();
                while (apikey == "")
                {
                    Console.Write("Der Api Schlüssel darf nicht leer sein. Bitte tragen sie hier ihren API Schlüssel ein: ");
                    apikey = Console.ReadLine();
                }
                Console.Write("Bitte geben sie jetzt den Gewünschten aktualisierungs rythmus in minuten an (5): ");
                string intervalString = Console.ReadLine();
                if (intervalString.Length == 0)
                {
                    interval = 5.0;
                }
                else
                {
                    if (isDouble(intervalString))
                    {
                        interval = Double.Parse(intervalString);
                    }
                    else
                    {
                        while (!isDouble(intervalString))
                        {
                            Console.Write("Die eingabe muss eine Zahl sein. Bitte geben sie jetzt den Gewünschten aktualisierungs rythmus in minuten an (5): ");
                            intervalString = Console.ReadLine();
                        }
                        interval = Double.Parse(intervalString);
                    }
                }
                config = new JObject(new JProperty("host", host), new JProperty("username", username), new JProperty("password", password), new JProperty("database", database), new JProperty("instance", instance), new JProperty("last_sync", current), new JProperty("limit", limit), new JProperty("apikey", apikey), new JProperty("interval", interval), new JProperty("keyword", keyword));
                ConfigfileHandler.CreateConfigFile(configfilePath, config);
                Console.WriteLine("Configuration Abgeschlossen. Die Konfigurationsdatei befindet sich hier: " + configfilePath);
            }

            try
            {
                //////////////////////////
                /// Reading Configfile ///
                //////////////////////////
                config = ConfigfileHandler.ReadConfigfile(configfilePath);
                LogfileHandler.Log("Configfile content: " + config.ToString());

                ////////////////////////////////////
                /// Read all values from JObject ///
                /// and update all values        ///
                ////////////////////////////////////
                host     = (string)config["host"];
                username = (string)config["username"];
                password = (string)config["password"];
                database = (string)config["database"];
                database = (string)config["database"];
                instance = (string)config["instance"];
                lastSync = (string)config["last_sync"];
                limit    = (int)config["limit"];
                interval = (double)config["interval"];
                apikey   = (string)config["apikey"];
                keyword  = (string)config["keyword"];
            }
            catch (Exception e)
            {
                Console.WriteLine("Error while processing the config file. Using fallback values. Please check the Configfile for any issues");
                Console.WriteLine(e.ToString());
                LogfileHandler.Log("Error in Configfile: " + e.ToString());
            }

            cnn = DatabaseHandler.BuildConnecion(host, instance, username, password, database);
            try
            {
                ////////////////////////////////////////
                /// Try to Connect to the Sql Server ///
                ////////////////////////////////////////
                Console.WriteLine("Connecting to SQL Server");
                cnn.Open();
                Console.WriteLine("!!!Connection Open!!!");
                LogfileHandler.Log("Sql Server Connected");

                runDBProcessing();

                ///////////////////////////////////////////////////////////
                /// Creating a Timer to run this Operations Periodicaly ///
                //////////////////////////////////////////////////////////
                SetTimer(interval * 60.0 * 1000.0);

                Console.Write("Press any key to exit... ");
                Console.ReadKey();

                ////////////////////////////////////
                /// Closing Sqlserver Connection ///
                ////////////////////////////////////
                cnn.Close();
                Console.WriteLine("!!!Connection Closed!!!");
                LogfileHandler.Log("Sql Server disonnected");
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
                MessageBox.Show("Bitte lassen sie Dieses Fenster Geöffnet und informieren sie ihren Systemadministrator \n\n\n" + e.ToString(), "KWP -> MyCraftnote Projekt Synchronisation             Schwerwiegender Fehler!!! ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cnn.Close();
                LogfileHandler.Log("Sql Error: " + e.ToString());
                System.Threading.Thread.Sleep(5000);
                Environment.Exit(1);
            }
            catch (ArgumentNullException e)
            {
                Console.WriteLine(e.ToString());
                MessageBox.Show("Bitte lassen sie Dieses Fenster Geöffnet und informieren sie ihren Systemadministrator \n\n\n" + e.ToString(), "KWP -> MyCraftnote Projekt Synchronisation             Schwerwiegender Fehler!!! ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cnn.Close();
                LogfileHandler.Log("ArgumentNull Error: " + e.ToString());
                System.Threading.Thread.Sleep(5000);
                Environment.Exit(1);
            }
            catch (NullReferenceException e)
            {
                Console.WriteLine(e.ToString());
                MessageBox.Show("Bitte lassen sie Dieses Fenster Geöffnet und informieren sie ihren Systemadministrator \n\n\n" + e.ToString(), "KWP -> MyCraftnote Projekt Synchronisation             Schwerwiegender Fehler!!! ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cnn.Close();
                LogfileHandler.Log("NullReference Error: " + e.ToString());
                System.Threading.Thread.Sleep(5000);
                Environment.Exit(1);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                MessageBox.Show("Bitte lassen sie Dieses Fenster Geöffnet und informieren sie ihren Systemadministrator \n\n\n" + e.ToString(), "KWP -> MyCraftnote Projekt Synchronisation             Schwerwiegender Fehler!!! ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cnn.Close();
                LogfileHandler.Log("Error: " + e.ToString());
                System.Threading.Thread.Sleep(5000);
                Environment.Exit(1);
            }
        }
Пример #6
0
        public static void runDBProcessing()
        {
            try
            {
                //////////////////////////
                /// Reading Configfile ///
                //////////////////////////
                config = ConfigfileHandler.ReadConfigfile(configfilePath);
                LogfileHandler.Log("Configfile content: " + config.ToString());


                ////////////////////////////////////
                /// Read all values from JObject ///
                /// and update all values        ///
                ////////////////////////////////////
                host     = (string)config["host"];
                username = (string)config["username"];
                password = (string)config["password"];
                database = (string)config["database"];
                database = (string)config["database"];
                instance = (string)config["instance"];
                lastSync = (string)config["last_sync"];
                limit    = (int)config["limit"];
                interval = (int)config["interval"];
                apikey   = (string)config["apikey"];
                keyword  = (string)config["keyword"];
            }
            catch (Exception fileError)
            {
                Console.WriteLine("Error while processing the config file. Using fallback values. Please check the Configfile for any issues");
                Console.WriteLine(fileError.ToString());
                LogfileHandler.Log("Error in Configfile: " + fileError.ToString());
            }
            current = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss.fff");
            LogfileHandler.Log("Current timestamp: " + current);
            List <Models.Project> projects        = DatabaseHandler.GetProjects(cnn, config);
            List <Models.Project> serviceProjects = DatabaseHandler.GetServiceProjects(cnn, config);

            for (var i = 0; i < projects.Count; i++)
            {
                if (projects[i].ProjAdrAnsprechpartnerID != (long)-1)
                {
                    projects[i].ProjectAdrAnsprechpartner = DatabaseHandler.GetContactPersonById(cnn, projects[i].ProjAdrAnsprechpartnerID);
                }
                if (projects[i].BauHrAdrAnsprechpartnerID != (long)-1)
                {
                    projects[i].BauHrAdrAnsprechpartner = DatabaseHandler.GetContactPersonById(cnn, projects[i].BauHrAdrAnsprechpartnerID);
                }
                if (projects[i].RechAdrAnsprechpartnerID != (long)-1)
                {
                    projects[i].RechAdrAnsprechpartner = DatabaseHandler.GetContactPersonById(cnn, projects[i].ProjAdrAnsprechpartnerID);
                }
            }
            ApiHandler.SendProjects(projects, apikey);

            for (var i = 0; i < serviceProjects.Count; i++)
            {
                if (serviceProjects[i].ProjAdrAnsprechpartnerID != (long)-1)
                {
                    serviceProjects[i].ProjectAdrAnsprechpartner = DatabaseHandler.GetContactPersonById(cnn, serviceProjects[i].ProjAdrAnsprechpartnerID);
                }
                if (serviceProjects[i].BauHrAdrAnsprechpartnerID != (long)-1)
                {
                    serviceProjects[i].BauHrAdrAnsprechpartner = DatabaseHandler.GetContactPersonById(cnn, serviceProjects[i].BauHrAdrAnsprechpartnerID);
                }
                if (serviceProjects[i].RechAdrAnsprechpartnerID != (long)-1)
                {
                    serviceProjects[i].RechAdrAnsprechpartner = DatabaseHandler.GetContactPersonById(cnn, serviceProjects[i].ProjAdrAnsprechpartnerID);
                }
            }
            ApiHandler.SendProjects(serviceProjects, apikey);
            ConfigfileHandler.UpdateConfigfile(configfilePath, config, current);
        }
Пример #7
0
 private static void OnTimedEvent(Object source, ElapsedEventArgs e)
 {
     LogfileHandler.Log("Timer run");
     runDBProcessing();
 }