Ejemplo n.º 1
0
        public static void OnEmailWeek(DateTime date)
        {
            new Thread(() =>
            {
                try
                {
                    var startEndWeek = TimeServer.StartEndWeek(date);
                    DateTime start   = startEndWeek[0];
                    DateTime end     = startEndWeek[1];
                    var days         = DataBaseManager.Instance.DaysInRange(start, end);

                    using (MailMessage msg = new MailMessage(AppSettings.Instance.FromAddress, AppSettings.Instance.ToAddress))
                    {
                        SmtpClient smtp = new SmtpClient();
                        NetworkCredential basicCredential = new NetworkCredential(AppSettings.Instance.FromUser, AppSettings.Instance.FromPass);
                        smtp.EnableSsl             = AppSettings.Instance.SslEmail == "true";
                        smtp.Port                  = Convert.ToInt32(AppSettings.Instance.FromPort);
                        smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
                        smtp.UseDefaultCredentials = false;
                        smtp.Credentials           = basicCredential;
                        smtp.Host                  = AppSettings.Instance.EmailHost;
                        msg.Subject                = "Time";
                        msg.Attachments.Add(new Attachment(SaveReport(DaysToHtml(days), start, end)));
                        msg.Body = "Auto generated time report.";
                        smtp.Send(msg);
                        MessageBox.Show("Mail sent!");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }).Start();
        }
Ejemplo n.º 2
0
 public static void OnPreviewWeek(DateTime date)
 {
     try
     {
         var      startEndWeek = TimeServer.StartEndWeek(date);
         DateTime start        = startEndWeek[0];
         DateTime end          = startEndWeek[1];
         var      days         = DataBaseManager.Instance.DaysInRange(start, end);
         Process.Start(SaveReport(DaysToHtml(days), start, end));
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }