62,047
社区成员
发帖
与我相关
我的任务
分享
private void MailAlert()
{
string[] s = "P1,3,24;P2,2,12;P3,1,4".Split(';');
List<Level> LLevel = new List<Level>();
int maxDay = -1, minDay = 0;
for (int i = 0; i < s.Length; i++)
{
Level l = new Level(s[i].Substring(0, s[i].IndexOf(',')), int.Parse(s[i].Substring(s[i].IndexOf(',') + 1, s[i].LastIndexOf(',') - s[i].IndexOf(',') - 1).Trim()), int.Parse(s[i].Substring(s[i].LastIndexOf(',') + 1, s[i].Length - s[i].LastIndexOf(',') - 1).Trim()));
LLevel.Add(l);
if (l.Day > maxDay) maxDay = l.Day;
if (l.Day < minDay) minDay = l.Day;
}
LLevel = LLevel.OrderByDescending(t => t.Howofen).ToList();//需排序,否則會重複發!
PCRDataContext db = new PCRDataContext();
var pcrDetail = from p in db.PcrDetail
where new string[] { "Open", "Reject" }.Contains(p.Task_Status) && !p.Project_No.ToLower().StartsWith("tmp")
&& DateTime.Now.Subtract(DateTime.Parse(p.Task_DueDate)).Days >= minDay
select p;
foreach (PcrDetail pp in pcrDetail)
{
List<Level> myLevel = LLevel.Where(p => p.Name.ToLower() == pp.Task_MailAlert.ToLower()).ToList();
int m = DateTime.Now.Subtract(DateTime.Parse(pp.Task_DueDate)).Days;
if (DateTime.Now.Subtract(DateTime.Parse(pp.Task_DueDate)).Days == myLevel[0].Day && DateTime.Now.Hour % myLevel[0].Howofen == 0)
{
SendMail();
}
}
}
//DateTime.Now.Subtract(DateTime.Parse(p.Task_DueDate)).Days >= minDay
(DateTime.Now-(DateTime.Parse(p.Task_DueDate)).Days >= minDay