110,538
社区成员
发帖
与我相关
我的任务
分享
private void Form1_Load(object sender, EventArgs e)
{
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(TimeEvent);
// 设置引发事件的时间间隔 此处设置为1秒(1000毫秒)
aTimer.AutoReset = true;
aTimer.Interval = 60000;
aTimer.Enabled = true;
aTimer.Start();
}
private static void TimeEvent(object source, ElapsedEventArgs e)
{
#region 每分钟查看数据库。
string sql = "select * from EMS_System_Admin where e_system_admin_mark = 1 "
+ "select * from EMS_Email where e_email_state = 0 order by e_email_time desc "
+ "select e_mode_guid,e_mode_content,e_mode_name from EMS_Mode "
+ "select (select count(*) from EMS_Email where convert(char(19),EMS_Email.e_email_time,120) = convert(char(19),EMS_ERemind.e_eremind_sortime,120) and e_email_state = 0)st,(select count(*) from EMS_Email where e_email_state = 1 and convert(char(19),EMS_Email.e_email_time,120) = convert(char(19),EMS_ERemind.e_eremind_sortime,120))success,(select count(*) from EMS_Email where e_email_state = 2 and convert(char(19),EMS_Email.e_email_time,120) = convert(char(19),EMS_ERemind.e_eremind_sortime,120))failure,(select top 1 e_email_sort from EMS_Email where convert(char(19),EMS_Email.e_email_time,120) = convert(char(19),EMS_ERemind.e_eremind_sortime,120))sort,(select top 1 e_email_project from EMS_Email where convert(char(19),EMS_Email.e_email_time,120) = convert(char(19),EMS_ERemind.e_eremind_sortime,120))project,* from EMS_ERemind";
DataSet DS = MiracleEMS.DataBase.SqlHelper.DS(sql, null);
DataTable dt = DS.Tables[0];
DataTable dt1 = DS.Tables[1];
DataTable dt2 = DS.Tables[2];
DataTable dt3 = DS.Tables[3];
string[] arrEmail = new string[] { "12345678@qq.com" };
string strEmailTime = "";
string strSort = "";
string strProject = "";
int intCount = dt1.Rows.Count;
int r = 0;
string strMode = "";
string strModeTitle = "";
foreach (DataRow dr in dt.Rows)
{
r = 0;
foreach (DataRow dr1 in dt1.Rows)
{
if (dr["e_system_admin_guid"].ToString().ToLower() == dr1["e_email_oper"].ToString().ToLower())
{
if (r < 3)
{
r = r + 1;
arrEmail = new string[] { dr1["e_email_email"].ToString() };
try
{
foreach (DataRow dr3 in dt2.Rows)
{
if (dr1["e_email_begin"].ToString() == "")
{
if (dr1["e_email_mode"].ToString() == dr3["e_mode_guid"].ToString())
{
try
{
if (dr["e_system_admin_email"] != null && arrEmail != null)
{
if (BaseDo.SendEmail(dr["e_system_admin_email"].ToString(), dr["e_system_admin_name"].ToString(), arrEmail, dr3["e_mode_content"].ToString().Replace("XXX", dr1["e_email_name"].ToString()).Replace("{E_Email_Email}", dr1["e_email_email"].ToString()), dr3["e_mode_name"].ToString(), dr["e_system_admin_server"].ToString(), dr["e_system_admin_mailpwd"].ToString()))
{
MiracleEMS.DataBase.SqlHelper.SqlCmd("Update EMS_Email set e_email_state = 1 where e_email_guid='" + dr1["e_email_guid"].ToString() + "'", null);
}
else
{
MiracleEMS.DataBase.SqlHelper.SqlCmd("Update EMS_Email set e_email_state = 2 where e_email_guid='" + dr1["e_email_guid"].ToString() + "'", null);
}
}
}
catch
{
MiracleEMS.DataBase.SqlHelper.SqlCmd("Update EMS_Email set e_email_state = 2 where e_email_guid='" + dr1["e_email_guid"].ToString() + "'", null);
}
}
}
else
{
}
}
}
catch
{
continue;
}
}
else
{
continue;
}
}
}
r = 0;
arrEmail = new string[] { dr["e_system_admin_email"].ToString() };
}
dt3 = DS.Tables[3];
foreach (DataRow drs in dt3.Rows)
{
if (int.Parse(drs["st"].ToString()) == 0)
{
if (MiracleEMS.DataBase.SqlHelper.ExecuteNonQuery("declare @s int set @s = (select count(*) from EMS_Email where e_email_state = 1 and convert(char(19),EMS_Email.e_email_time,120) = '" + string.Format("{0:yyyy-MM-dd HH:mm:ss}", drs["e_eremind_sortime"]) + "') declare @f int set @f =(select count(*) from EMS_Email where e_email_state = 2 and convert(char(19),EMS_Email.e_email_time,120) = '" + string.Format("{0:yyyy-MM-dd HH:mm:ss}", drs["e_eremind_sortime"]) + "') declare @i int set @i = (select count(*) from EMS_Count where e_count_sortime = '" + string.Format("{0:yyyy-MM-dd HH:mm:ss}", drs["e_eremind_sortime"]) + "') if @i < 1 begin Insert Into EMS_Count(e_count_success,e_count_failure,e_count_sortime,e_count_sort,e_count_project) values(@s,@f,'" + drs["e_eremind_sortime"].ToString() + "','" + drs["sort"].ToString() + "','" + drs["project"].ToString() + "') end") > 0)
{
BaseDo.SendEmail("miracle.sun@imforce.com.cn", "您在" + drs["e_eremind_sortime"].ToString() + "的时间导入的Email发送完成", arrEmail, "成功数:" + drs["success"].ToString() + "<br />失败数:" + drs["failure"].ToString(), "您在" + drs["e_eremind_sortime"].ToString() + "的时间导入的Email发送完成", "mail.imforce.com.cn", "12345678");
}
}
}
}