I have a custom SPList that has a field Assigned To, now I can add as many items as I want, and they can have same title and same User they are assigned to, but what I want is a script so that I only get the distinct number of user's email address, e.g. if a user is assigned to more then 1 item, I will get there email address just once, here is the code I wrote down but I don't think if its good enough.
using (SPSite site = new SPSite("www.local.com"))
using (SPWeb web = site.OpenWeb())
{
SPList mySourceList = web.Lists["ListName"];
SPQuery mySourceListQuery = new SPQuery();
mySourceListQuery.Query =
"<OrderBy><FieldRef Name='AssignedTo' />" +
"<FieldRef Name='Title' />" +
"</OrderBy>";
SPListItemCollection mySourceItemColl = mySourceList.GetItems(mySourceListQuery);
foreach (SPUser user in web.Users)
{
foreach (SPListItem mySourceListItem in mySourceItemColl)
{
name = mySourceListItem["AssignedTo"].ToString();
name = name.Substring(name.IndexOf("#") + 1);
if (user.Name == name)
{
Console.WriteLine(user.Email);
}
}
}