通过单一嵌套循环功能发送每日电子邮件

时间:2014-03-11 18:50:39

标签: c# sql .net linq datatable

我正在创建一个网页,每天运行一次,向主管发送电子邮件通知。我希望每位主管都能收到一封包含所有员工数据的电子邮件,其中可能有多个活动。

我有一些这样的数据:

supervisorEmail |   employeeID  |   eventDate   |   eventDetails
===================================================================================================
george@blah.org |   jones       |   2014-03-18  |   Watch a movie
george@blah.org |   jones       |   2014-03-20  |   Convention registration
george@blah.org |   smith       |   2014-03-20  |   Convention registration
george@blah.org |   smith       |   2014-03-20  |   Convention registration
gayle@blah.org  |   nloya       |   2014-03-13  |   some other stuff
gayle@blah.org  |   nloya       |   2014-03-25  |   this and that

我首先检索所有上述数据并放入DataTable 接下来我需要由主管分组,以便每个人都收到一封电子邮件。 在每封电子邮件中,我需要为该主管过滤的行。我看到LINQ如何用于其中一些。我现在迷失了所有这一切。我至少可以朝着正确的方向努力吗?

1 个答案:

答案 0 :(得分:0)

您可以按supervisorEmail分组数据:

var groups = data.GroupBy(d => d.supervisorEmail);
foreach(var g in groups)
{
    SendEmail(g.Key, g);   // g is an IEnumerable<some type> with the data for that supervisor
}

public void SendEmail(string supervisorEmail, IEnumerable<some type> data)
{
    // send data to supervisor
}