void BuildQueryView() { queryStore.Clear(); foreach (var server in TFSVersionControlService.Instance.Servers) { var node = queryStore.AddNode().SetValue(titleField, server.Name); foreach (var pc in server.ProjectCollections) { node.AddChild().SetValue(titleField, pc.Name); var workItemManager = new WorkItemManager(pc); foreach (var projectInfo in pc.Projects.OrderBy(x => x.Name)) { var workItemProject = workItemManager.GetByGuid(projectInfo.Guid); if (workItemProject == null) { continue; } node.AddChild().SetValue(titleField, projectInfo.Name); var privateQueries = workItemManager.GetMyQueries(workItemProject); if (privateQueries.Any()) { node.AddChild().SetValue(titleField, "My Queries"); foreach (var query in privateQueries) { node.AddChild().SetValue(titleField, query.QueryName).SetValue(queryField, query); node.MoveToParent(); } node.MoveToParent(); } var publicQueries = workItemManager.GetPublicQueries(workItemProject); if (publicQueries.Any()) { node.AddChild().SetValue(titleField, "Public"); foreach (var query in publicQueries) { node.AddChild().SetValue(titleField, query.QueryName).SetValue(queryField, query); node.MoveToParent(); } node.MoveToParent(); } node.MoveToParent(); } queryView.ExpandRow(node.CurrentPosition, true); } } var cursor = queryStore.GetFirstNode(); if (cursor.MoveToChild()) //Move to Project Collections { queryView.ExpandToRow(cursor.CurrentPosition); } }
private void UpdateData() { _treeStore.Clear(); foreach (var server in TFSVersionControlService.Instance.Servers) { var node = _treeStore.AddNode().SetValue(_name, server.Name) .SetValue(_type, NodeType.Server) .SetValue(_item, server); try { foreach (var pc in server.ProjectCollections) { node.AddChild().SetValue(_name, pc.Name) .SetValue(_type, NodeType.ProjectCollection) .SetValue(_item, pc); var workItemManager = new WorkItemManager(pc); foreach (var projectInfo in pc.Projects.OrderBy(x => x.Name)) { node.AddChild().SetValue(_name, projectInfo.Name).SetValue(_type, NodeType.Project).SetValue(_item, projectInfo); var workItemProject = workItemManager.GetByGuid(projectInfo.Guid); if (workItemProject != null) { node.AddChild().SetValue(_name, "Work Items").SetValue(_type, NodeType.WorkItems); var privateQueries = workItemManager.GetMyQueries(workItemProject); if (privateQueries.Any()) { node.AddChild().SetValue(_name, "My Queries").SetValue(_type, NodeType.WorkItemQueryType); foreach (var query in privateQueries) { node.AddChild().SetValue(_name, query.QueryName).SetValue(_type, NodeType.WorkItemQuery).SetValue(_item, query); node.MoveToParent(); } node.MoveToParent(); } var publicQueries = workItemManager.GetPublicQueries(workItemProject); if (publicQueries.Any()) { node.AddChild().SetValue(_name, "Public").SetValue(_type, NodeType.WorkItemQueryType); foreach (var query in publicQueries) { node.AddChild().SetValue(_name, query.QueryName).SetValue(_type, NodeType.WorkItemQuery).SetValue(_item, query); node.MoveToParent(); } node.MoveToParent(); } node.MoveToParent(); } node.AddChild().SetValue(_name, "Source Control").SetValue(_type, NodeType.SourceControl); node.MoveToParent(); node.MoveToParent(); } node.MoveToParent(); } } catch (Exception ex) { node.AddChild().SetValue(_name, ex.Message).SetValue(_type, NodeType.Exception); } } ExpandServers(); }