2015-08-06 7 views
0

В настоящее время я могу получить всех участников TFS, используя workItemStore.FieldDefinitions[CoreField.AssignedTo].AllowedValues, но дело в том, что я хочу искать разрешенных членов определенного проекта (у меня уже есть информация о проекте, извлеченная из TFS), так как результаты находятся в сотнях а не только 5-6.Как фильтровать участников TFS для конкретного проекта?

Любые предложения приветствуются.

+0

Неважно, что вы спрашиваете, но обычно, если люди спрашивают об этом, они действительно хотят перечислить членов команды в рамках проекта или одной группы безопасности проекта; http://blog.johnsworkshop.net/tfs11-api-query-teams-and-team-members/ –

ответ

0

Вы можете использовать следующий код, чтобы получить действительный пользователь для конкретного проекта команды:

List<string> displayNames = new List<string>(); 
     TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("http://tfsservername:8080/tfs/collectionname")); 
     tfs.EnsureAuthenticated(); 
     WorkItemStore workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore)); 

     WorkItemTypeCollection workItemTypes = workItemStore.Projects["Agile"].WorkItemTypes; 

     WorkItemType wiType = workItemTypes["task"]; 

     var allowedValues = wiType.FieldDefinitions[CoreField.AssignedTo].AllowedValues; 

     foreach (String value in allowedValues) 
     { 
      displayNames.Add(value); 
     } 

Однако, для вашего требования привязки данных, могли бы вы предложить более подробную информацию? Кстати, с каким проектом вы работаете? Проект winform?

+0

Я отредактировал свой вопрос, так как ваш ответ стал чрезвычайно полезным, отредактируйте его, чтобы он полностью соответствовал вопросу, и я примет его :) Спасибо! – Phantomazi