示例#1
0
 //update srs
 public static void AktualizujPowiazanie(SrsLink powiazanie, Srs Serwis)
 {
     using (SQLiteConnection conn = new SQLiteConnection(connectionString))
     {
         conn.Open();
         using (SQLiteCommand cmd = new SQLiteCommand(conn))
         {
             cmd.CommandText = "UPDATE PowiazaniaSrs "
                               + "SET DataModyfikacjiSerwisu = @Data "
                               + "WHERE Id = @Id";
             cmd.Prepare();
             cmd.Parameters.AddWithValue("@Data", Serwis.SrZ_TS_Mod);
             cmd.Parameters.AddWithValue("@Id", powiazanie.Id);
             try
             {
                 cmd.ExecuteNonQuery();
             }
             catch (SQLiteException e)
             {
                 Console.WriteLine(e.Message + " AktualizujPowiazanie(SrsLink powiazanie, Srs Serwis)");
             }
         }
         conn.Close();
     }
 }
示例#2
0
        private async Task CheckKnt()
        {
            List <Knt> Kontakty = db.GetKntFromOptima();

            foreach (Knt Kontakt in Kontakty)
            {
                SrsLink powiazanie = LinksDatabase.PobierzPowiazanieDo(Kontakt);
                if (powiazanie != null)
                {
                    if (powiazanie.DataModyfikacji != Convert.ToDateTime(Kontakt.CRK_TS_Mod))
                    {
                        Console.WriteLine("UPDATE: ID " + Kontakt.CRK_CRKId + " Opis: " + Kontakt.CRK_Opis + " Data Wykonania: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString());
                        await MGraphHelper.UpdateEvent(powiazanie.EventId, Kontakt, graphServiceClient, Config.KntTopicTemplate, Config.KntDescriptionTemplate);

                        LinksDatabase.AktualizujPowiazanie(powiazanie, Kontakt);
                    }
                }
                else
                {
                    //Tutaj to trochę inaczej trzeba zrobić w pliku z konfiguracją będzie trzeba uwzględnić Do jakiego np. opiekuna jaki jest przypisany kalendarz (id)
                    Console.WriteLine("INSERT: ID " + Kontakt.CRK_CRKId + " Opis: " + Kontakt.CRK_Opis + " Data Wykonania: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString());
                    string idkalendarza = await MGraphHelper.StworzNowyEvent(Kontakt, graphServiceClient, Config.KntTopicTemplate, Config.KntDescriptionTemplate, Config.SrsCalendarId);

                    LinksDatabase.DodajPowiazanie(Kontakt, idkalendarza);
                }
            }
        }
示例#3
0
        public static List <SrsLink> GetAllSrsLinks()
        {
            List <SrsLink> la = new List <SrsLink>();

            try
            {
                using (SQLiteConnection conn = new SQLiteConnection(connectionString))
                {
                    conn.Open();
                    string sql = "SELECT * FROM PowiazaniaSrs;";

                    using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
                    {
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                var tmp = new SrsLink();
                                tmp.Id              = Int32.Parse(reader["Id"].ToString());
                                tmp.IdSerwisu       = Int32.Parse(reader["IdSerwisu"].ToString());
                                tmp.EventId         = reader["EventId"].ToString();
                                tmp.DataModyfikacji = Convert.ToDateTime(reader["DataModyfikacjiSerwisu"].ToString());
                                la.Add(tmp);
                            }
                        }
                    }
                    conn.Close();
                }
            }
            catch (SQLiteException e)
            {
                Console.WriteLine(e.Message + " get allsrs links)");
            }
            return(la);
        }
示例#4
0
 //delete Srs
 public static void UsunPowiazanieSrs(SrsLink powiazanie)
 {
     using (SQLiteConnection conn = new SQLiteConnection(connectionString))
     {
         conn.Open();
         using (SQLiteCommand cmd = new SQLiteCommand(conn))
         {
             cmd.CommandText = "DELETE FROM PowiazaniaSrs WHERE Id = @IdPowiazania";
             cmd.Prepare();
             cmd.Parameters.AddWithValue("@IdPowiazania", powiazanie.Id);
             try
             {
                 cmd.ExecuteNonQuery();
             }
             catch (SQLiteException e)
             {
                 Console.WriteLine(e.Message + " UsunPowiazanieSrs(SrsLink powiazanie)");
             }
         }
         conn.Close();
     }
 }
示例#5
0
        public bool CheckIfExistInDatabase(SrsLink serwis)
        {
            try
            {
                bool tmp = false;
                DBConnection.Open();
                SqlCommand komendaSQL = DBConnection.CreateCommand();
                komendaSQL.CommandText = "SELECT * FROM CDN.SrsZlecenia WHERE SrZ_SrZId=" + serwis.IdSerwisu;
                SqlDataReader czytnik = komendaSQL.ExecuteReader();


                tmp = czytnik.HasRows;

                czytnik.Close();
                DBConnection.Close();

                return(tmp);
            }
            catch (Exception e)
            {
                throw new SystemException("Wystąpił nieoczekiwany błąd!" + e.Message);
            }
        }
示例#6
0
        //pobierz srs
        public static SrsLink PobierzPowiazanieDo(Srs serwis)
        {
            SrsLink la = new SrsLink();

            try
            {
                using (SQLiteConnection conn = new SQLiteConnection(connectionString))
                {
                    conn.Open();
                    string sql = "SELECT * FROM PowiazaniaSrs WHERE IdSerwisu = " + serwis.SrZ_SrZId;

                    using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
                    {
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                        {
                            if (reader.Read())
                            {
                                la.Id              = Int32.Parse(reader["Id"].ToString());
                                la.IdSerwisu       = Int32.Parse(reader["IdSerwisu"].ToString());
                                la.EventId         = reader["EventId"].ToString();
                                la.DataModyfikacji = Convert.ToDateTime(reader["DataModyfikacjiSerwisu"].ToString());
                            }
                            else
                            {
                                return(null);
                            }
                        }
                    }
                    conn.Close();
                }
            }
            catch (SQLiteException e)
            {
                Console.WriteLine(e.Message + " PobierzPowiazanieDo(Srs serwis)");
            }
            return(la);
        }
示例#7
0
        private async Task CheckSrs()
        {
            List <Srs> Serwisy       = db.GetSrsFromOptima();
            string     Powiadomienie = "";

            foreach (Srs Serwis in Serwisy)
            {
                SrsLink powiazanie = LinksDatabase.PobierzPowiazanieDo(Serwis);
                if (powiazanie != null)
                {
                    if (powiazanie.DataModyfikacji != Convert.ToDateTime(Serwis.SrZ_TS_Mod))
                    {
                        string msg = "Zaktualizowano Zlecenie Serwisowe: ID " + Serwis.SrZ_SrZId + " Opis: " + Serwis.SrZ_Opis + " o godzinie: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();
                        Console.WriteLine(msg);
                        Powiadomienie += (msg + Environment.NewLine);
                        await MGraphHelper.UpdateEvent(powiazanie.EventId, Serwis, graphServiceClient, Config.SrsTopicTemplate, Config.SrsDescriptionTemplate);

                        LinksDatabase.AktualizujPowiazanie(powiazanie, Serwis);
                    }
                }
                else
                {
                    string msg = "Dodano Zlecenie Serwisowe: ID " + Serwis.SrZ_SrZId + " Opis: " + Serwis.SrZ_Opis + " o godzinie: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();
                    Console.WriteLine(msg);
                    Powiadomienie += (msg + Environment.NewLine);
                    string idkalendarza = await MGraphHelper.StworzNowyEvent(Serwis, graphServiceClient, Config.SrsTopicTemplate, Config.SrsDescriptionTemplate, Config.SrsCalendarId);

                    LinksDatabase.DodajPowiazanie(Serwis, idkalendarza);
                }
            }

            foreach (var item in LinksDatabase.GetAllSrsLinks())
            {
                //Console.WriteLine(item.IdSerwisu + " " + db.CheckIfExistInDatabase(item));
                if (!db.CheckIfExistInDatabase(item))
                {
                    //TO-DO wrzucanie logów do bazy, wysyłanie wiadomosci do wybranych uzytkowników gdy coś się zadzieje doda nowe / aktualizuje / usunie

                    string msg = "Usunięto Zlecenie Serwisowe: ID Serwisu " + item.IdSerwisu + " o godzinie: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();
                    Console.WriteLine(msg);
                    Powiadomienie += (msg + Environment.NewLine);
                    await MGraphHelper.DeleteEvent(item.EventId, graphServiceClient);

                    LinksDatabase.UsunPowiazanieSrs(item);
                }
            }

            if (!(Powiadomienie == ""))
            {
                //Send mail
                SmtpClient x = new SmtpClient(Config.SrSSMTPClientHost, Config.SrSSMTPClientPort);
                x.EnableSsl             = true;
                x.Timeout               = 10000;
                x.DeliveryMethod        = SmtpDeliveryMethod.Network;
                x.UseDefaultCredentials = false;
                x.Credentials           = new NetworkCredential(Config.SrSMailUsername, Config.SrSMailPassword);

                MailMessage msgg = new MailMessage();
                msgg.To.Add(Config.SrSMailUsername);
                msgg.From    = new MailAddress(Config.SrSMailUsername);
                msgg.Subject = "Moduł Zlecenia Serwisowe";
                msgg.Body    = Powiadomienie;

                x.SendAsync(msgg, null);
            }
        }
示例#8
0
 //update knt
 public static void AktualizujPowiazanie(SrsLink powiazanie, Knt kontakt)
 {
     throw new NotImplementedException();
 }