public void CanSendEmail()
 {
     try
     {
         string settingFile = Path.Combine(FileSystem.GetStcokWatchFolderOnGoogleDrive(), "EmailSetting.xml");
         using (EmailServiceSender es = new EmailServiceSender(settingFile))
         {
             es.SendEmail("*****@*****.**",
                          new List <string>(),
                          "EmailSenderTest",
                          "Sent from unit test");
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
         throw;
     }
 }
Exemple #2
0
        public override void Execute()
        {
            List <Stock>      toProcess = _monitorRepo.Stocks.ToList();
            List <PriceAlert> alerts    = toProcess
                                          .Where(s => s.InPossession || s.SendAlertAfter < DateTime.Now)
                                          .Select(s => ScanObject(s))
                                          .Where(n => n != null)
                                          .ToList();

            if (alerts != null && alerts.Count > 0)
            {
                using (var sender = new EmailServiceSender(ServiceSettings.Instance.EmailSettingFile))
                {
                    sender.SendEmail("*****@*****.**",
                                     new List <string> (),
                                     "StockWatch Monitor Alert",
                                     CompositePriceAlertHtml(alerts));
                }
            }
        }
Exemple #3
0
        public override void Execute()
        {
            List <Stock> toProcess = _summaryRepository.Stocks.ToList();

            toProcess.ForEach(s => SummarizeData(s));
            var today = DateTime.Today;

            var emailArchive = _summaryRepository.GetEmailArchiveForDate(typeof(DailyV001).Name, today);

            //already sent for today.
            if (emailArchive != null)
            {
                return;
            }
            List <Stock> toReport = _summaryRepository.Stocks
                                    .Where(s => s.InIDB50).ToList();
            List <DailyV001> reportList = toReport
                                          .Select(s => _summaryRepository.GetDailySummaryListForDate(s.Symbol, today))
                                          .Where(d => d != null)
                                          .ToList();

            if (toReport.Count() - reportList.Count() < 10)
            {
                var html = CompositeDailySummaryHtml(reportList);
                using (var sender = new EmailServiceSender(ServiceSettings.Instance.EmailSettingFile))
                {
                    sender.SendEmail("*****@*****.**",
                                     ServiceSettings.Instance.EmalCc,
                                     "StockWatch Daily Summary",
                                     html);
                }
                _summaryRepository.SaveEmailArchive(
                    new EmailArchive
                {
                    Name     = typeof(DailyV001).Name,
                    DateSent = today,
                    Html     = html
                });
            }
        }