Hi,
I am currently working on developing C# application to create the tasks in TFS and in order to do that, I am using TFS 2012 API and I almost complete upto creation of task and linked to the parent Work Item. And I am currently in retrieving only users from the TFS and trying to populate it in the Combox for Assigned To field.
I am using the below code to fetch the team members but it brings both GROUPS and USERS but i need to display only users (also users inside GROUPS) in the Assigned To Combobox of the C# Application. Can you help me to fetch the users alone?
private void getMemeber(string teamName)
{
VersionControlServer vcs = tfs.GetService<VersionControlServer>();
TeamProject teamProject = vcs.GetTeamProject(teamName);
IIdentityManagementService Isec = tfs.GetService<IIdentityManagementService>();
TeamFoundationIdentity[] appGroups = Isec.ListApplicationGroups(teamProject.ArtifactUri.AbsoluteUri, ReadIdentityOptions.ExtendedProperties);
users.Clear();
foreach (TeamFoundationIdentity group in appGroups)
{
object isTeam = null;
if (group.TryGetProperty("Microsoft.TeamFoundation.Team", out isTeam))
{
TeamFoundationIdentity[] groupMembers = Isec.ReadIdentities(new Guid[] { group.TeamFoundationId }, MembershipQuery.Expanded
);
//get all group members
foreach (TeamFoundationIdentity member in groupMembers)
{
if (member.Members != null)
{
foreach (IdentityDescriptor memberSid in member.Members)
{
TeamFoundationIdentity memberInfo = Isec.ReadIdentity(memberSid, MembershipQuery.Expanded, ReadIdentityOptions.ExtendedProperties);
if (memberInfo == null)
continue;
var userName = memberInfo.UniqueName;
userName = userName.ToString().ToUpperInvariant();
//MessageBox.Show(userName);
users.Add(memberInfo.DisplayName);
if (memberInfo.Descriptor.IdentityType == "System.Security.Principal.WindowsIdentity" && memberInfo.IsContainer == false)
{
//MessageBox.Show(userName + " DN: " + memberInfo.DisplayName + " Mail: " + memberInfo.GetAttribute("Mail",
null));
// users.Add(memberInfo.DisplayName);
}
}
}
}
}
}
}
Thanks in Advance,
Selvaraj C
Selvaraj