/// <summary> /// Kijkt of de septembermail al verstuurd is. (staat los van de voorlichtingen /// </summary> private static void CheckSeptemberMail() { if ((int)DateTime.Now.Month == 9 && (int)DateTime.Now.Day == 1) { SqlConnection conn = new SqlConnection(connectionString); conn.Open(); SqlCommand getDecanen = new SqlCommand("SELECT email FROM Gebruiker WHERE rol = 'decaan'", conn); SqlDataReader readDecanen = getDecanen.ExecuteReader(); while (readDecanen.Read()) { if (!readDecanen.IsDBNull(0)) { //voor ieder emailadres van de decanen string email = readDecanen.GetString(0); Mail mail = new Mail(MailInhoud.GeefMailInhoud(MailInhoud.Mailtjes.SeptemberMail)); mail.SendMail(email, "Instellingen Profielkeuzewebsite"); } } conn.Close(); } }
/// <summary> /// Kijkt of er nog taken te doen zijn /// </summary> /// <param name="eersteVoorlichting">datum van de eerste voorlichting</param> private static void CheckVoorTaken(DateTime eersteVoorlichting) { //check hoeveel dagen het nog duurd tot de voorlichting int dagenTotVoorlichting = (int)(eersteVoorlichting - DateTime.Now).TotalDays + 1; Mail mail; SqlConnection conn = new SqlConnection(connectionString); conn.Open(); switch (dagenTotVoorlichting) { //7 weken van tevoren mail naar admin voor importeren leerlingen case 49: SqlCommand getAdmin = new SqlCommand("SELECT email FROM Gebruiker WHERE rol = 'admin'", conn); SqlDataReader readAdmin = getAdmin.ExecuteReader(); if (readAdmin.Read() && !readAdmin.IsDBNull(0)) { mail = new Mail(MailInhoud.GeefMailInhoud(MailInhoud.Mailtjes.ImportHerinnering)); string adminEmail = readAdmin.GetString(0); mail.SendMail(adminEmail, "Importeren leerlingen"); } break; //5 weken voor de voorlichtingen mail naar decaan met dat ze actie moet ondernemen voor leerlingen //5 weken voor de voorlichtingen herinneringsmail naar leerling voor inschrijven ALLEEN NAAR DE LEERLINGEN DIE NIET INGESCHREVEN ZIJN case 35: SqlCommand getDecanen = new SqlCommand("SELECT email FROM Gebruiker WHERE rol = 'decaan'", conn); SqlDataReader readDecanen = getDecanen.ExecuteReader(); while (readDecanen.Read()) { if (!readDecanen.IsDBNull(0)) { //voor ieder emailadres van de decanen string email = readDecanen.GetString(0); mail = new Mail(MailInhoud.GeefMailInhoud(MailInhoud.Mailtjes.DecaanActieMail)); mail.SendMail(email, "Leerlingen zonder voorlichtingskeuze"); } } SqlCommand getNLeerlingen = new SqlCommand("SELECT email FROM gebruiker WHERE rol = 'leerling' AND gebruikerId NOT IN (SELECT GebruikerId FROM Keuze)", conn); SqlDataReader readNLeerlingen = getNLeerlingen.ExecuteReader(); while (readNLeerlingen.Read()) { if (!readNLeerlingen.IsDBNull(0)) { SqlCommand herrineringsinhoud = new SqlCommand("SELECT inhoud, onderwerp FROM Mails WHERE mailId = 1", conn); SqlDataReader readInhoud = herrineringsinhoud.ExecuteReader(); if (readInhoud.Read() && !readInhoud.IsDBNull(0) && !readInhoud.IsDBNull(1)) { string emailNI = MailInhoud.begin + readInhoud.GetString(0) + MailInhoud.eind; mail = new Mail(emailNI); mail.SendMail(readNLeerlingen.GetString(0), readInhoud.GetString(1)); } } } break; //16 dagen voor de voorlichtingen tweede herrineringsmail nog niet ingeschreven leerlingen case 16: SqlCommand getNLeerlingen2 = new SqlCommand("SELECT email FROM gebruiker WHERE rol = 'leerling' AND gebruikerId NOT IN (SELECT GebruikerId FROM Keuze)", conn); SqlDataReader readNLeerlingen2 = getNLeerlingen2.ExecuteReader(); while (readNLeerlingen2.Read()) { if (!readNLeerlingen2.IsDBNull(0)) { //voor iedere leerling SqlCommand herrineringsinhoud = new SqlCommand("SELECT inhoud, onderwerp FROM Mails WHERE mailId = 2", conn); SqlDataReader readInhoud = herrineringsinhoud.ExecuteReader(); if (readInhoud.Read() && !readInhoud.IsDBNull(0) && !readInhoud.IsDBNull(1)) { string emailNI2 = MailInhoud.begin + readInhoud.GetString(0) + MailInhoud.eind; mail = new Mail(emailNI2); mail.SendMail(readNLeerlingen2.GetString(0), readInhoud.GetString(1)); } } } break; //2 weken van tevoren mail voor informatie aanvullen zoals leraren bij les etc. case 14: SqlCommand getDecanen2 = new SqlCommand("SELECT email FROM Gebruiker WHERE rol = 'decaan'", conn); SqlDataReader readDecanen2 = getDecanen2.ExecuteReader(); while (readDecanen2.Read()) { if (!readDecanen2.IsDBNull(0)) { //voor ieder emailadres van de decanen string email = readDecanen2.GetString(0); mail = new Mail(MailInhoud.GeefMailInhoud(MailInhoud.Mailtjes.DecaanAanvulling)); mail.SendMail(email, "informatieaanvulling"); } } break; //1 week voor de voorlichting: START ROOSTERSOFTWARE case 7: StartRooster(); break; } conn.Close(); }