コード例 #1
0
 /// <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();
     }
 }
コード例 #2
0
        /// <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();
        }