//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(); } }
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); } } }
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); }
//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(); } }
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); } }
//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); }
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); } }
//update knt public static void AktualizujPowiazanie(SrsLink powiazanie, Knt kontakt) { throw new NotImplementedException(); }