static void Main(string[] args) { try { Debug.WriteLine("Starting!"); EmailSerializer emailSerializer = new EmailSerializer(); emailSerializer.ReadEmails(); } finally { Debug.WriteLine("Done."); } }
static private void ResendThread() { while (cmdStop == false) { try { ParameterServices.Neologize(); Log.WriteMsgLogs("Email Resending Process ..."); Factory.CreateObject(); Factory.SuEmailResendingQuery.DeleteSuccessItem(); IList <SuEmailResending> ResendMails = Factory.SuEmailResendingQuery.FindAllEmailResending(); EmailSerializer serailer = new EmailSerializer(); SMSSerializer smsserialer = new SMSSerializer(); foreach (SuEmailResending item in ResendMails) { bool success; if (item.emailtype.Contains("SMS")) { success = false; item.status = "Retry"; try { SMSContainer sms = smsserialer.DeSerializeObject(item.mailcontent); if (item.emailtype == "SMS") { success = Factory.SMSService.ReSend(sms.sms); } else if (item.emailtype == "SMS+Log") { success = Factory.SMSService.ReSend(sms.sms, sms.SMSLogid); } else if (item.emailtype == "SMS+Notify") { success = Factory.SMSService.ReSend(sms.sms, sms.NotifySMS); } if (success) { item.status = "Success"; } } catch (Exception e) { Log.WriteLogs(e); } } else { try { EmailDTO email = serailer.DeSerializeObject(item.mailcontent); email.Status = 2; item.status = "Retry"; if (IsEmptyMailList(email.MailSendTo)) { AddMailSendTo sendto = new AddMailSendTo(); sendto.Email = SS.DB.Query.ParameterServices.AdminEmailAddress; sendto.Name = SS.DB.Query.ParameterServices.AdminName; email.MailSendTo.Clear(); email.MailSendTo.Add(sendto); email.Remark = "Send to email addresses is empty or invalid email format."; } email.IsMultipleReceiver = true; success = Factory.EmailService.SendEmail(email); if (success) { email.Status = 1; item.status = "Success"; } //send completed then must keep log AddEmailLog(email); } catch (Exception e) { Log.WriteLogs(e); } } item.lastsenddate = DateTime.Now; if (item.status == "Retry") { item.retry++; if (item.retry > ParameterServices.MaxRetry) { item.status = "Fail"; } } Factory.SuEmailResendingService.Update(item); } Log.WriteMsgLogs("Finish"); Thread.Sleep(SS.DB.Query.ParameterServices.EmailFlushingDuration * 60000); } catch (Exception e) { Log.WriteLogs(e); Thread.Sleep(SS.DB.Query.ParameterServices.EmailFlushingDuration * 60000); continue; } } }