public static WorkItemQueryChildModel[] GetQueryItemViewModels(this IEnumerable<QueryItem> queryHierarchy, IWorkItemQueryCommandModel workItemQueryCommandModel, ITeamPilgrimServiceModelProvider teamPilgrimServiceModelProvider, ITeamPilgrimVsService teamPilgrimVsService, Project project, int depth) { return queryHierarchy.Select<QueryItem, WorkItemQueryChildModel>(item => { var queryFolder = item as QueryFolder; if (queryFolder != null) { QueryFolderTypeEnum? queryFolderType = null; if (depth == 1) { switch (queryFolder.Name) { case "My Queries": queryFolderType = QueryFolderTypeEnum.MyQueries; break; case "Team Queries": queryFolderType = QueryFolderTypeEnum.TeamQueries; break; } } var foldersChildren = queryFolder.GetQueryItemViewModels(workItemQueryCommandModel, teamPilgrimServiceModelProvider, teamPilgrimVsService, project, depth + 1); return new WorkItemQueryFolderModel(workItemQueryCommandModel, project, depth, queryFolder, foldersChildren, queryFolderType); } var queryDefinition = item as QueryDefinition; if (queryDefinition != null) { return new WorkItemQueryDefinitionModel(workItemQueryCommandModel, project, depth, queryDefinition); } throw new ArgumentException(item.GetType().ToString()); }).ToArray(); }
public WorkItemQueryFolderModel(IWorkItemQueryCommandModel workItemQueryCommandModel, Project project, int depth, QueryFolder queryFolder, IEnumerable <WorkItemQueryChildModel> childQueryItemViewModels, QueryFolderTypeEnum?queryFolderType) : base(workItemQueryCommandModel, depth) { Project = project; QueryFolder = queryFolder; QueryFolderType = queryFolderType; var childQueryItemViewModelsArray = childQueryItemViewModels.ToArray(); foreach (var workItemQueryChildModel in childQueryItemViewModelsArray) { workItemQueryChildModel.ParentQueryFolder = this; } QueryItems = new ObservableCollection <WorkItemQueryChildModel>(childQueryItemViewModelsArray); }
public WorkItemQueryFolderModel(IWorkItemQueryCommandModel workItemQueryCommandModel, Project project, int depth, QueryFolder queryFolder, IEnumerable<WorkItemQueryChildModel> childQueryItemViewModels, QueryFolderTypeEnum? queryFolderType) : base(workItemQueryCommandModel, depth) { Project = project; QueryFolder = queryFolder; QueryFolderType = queryFolderType; var childQueryItemViewModelsArray = childQueryItemViewModels.ToArray(); foreach (var workItemQueryChildModel in childQueryItemViewModelsArray) { workItemQueryChildModel.ParentQueryFolder = this; } QueryItems = new ObservableCollection<WorkItemQueryChildModel>(childQueryItemViewModelsArray); }
public static WorkItemQueryChildModel[] GetQueryItemViewModels(this IEnumerable <QueryItem> queryHierarchy, IWorkItemQueryCommandModel workItemQueryCommandModel, ITeamPilgrimServiceModelProvider teamPilgrimServiceModelProvider, ITeamPilgrimVsService teamPilgrimVsService, Project project, int depth) { return(queryHierarchy.Select <QueryItem, WorkItemQueryChildModel>(item => { var queryFolder = item as QueryFolder; if (queryFolder != null) { QueryFolderTypeEnum?queryFolderType = null; if (depth == 1) { switch (queryFolder.Name) { case "My Queries": queryFolderType = QueryFolderTypeEnum.MyQueries; break; case "Team Queries": queryFolderType = QueryFolderTypeEnum.TeamQueries; break; } } var foldersChildren = queryFolder.GetQueryItemViewModels(workItemQueryCommandModel, teamPilgrimServiceModelProvider, teamPilgrimVsService, project, depth + 1); return new WorkItemQueryFolderModel(workItemQueryCommandModel, project, depth, queryFolder, foldersChildren, queryFolderType); } var queryDefinition = item as QueryDefinition; if (queryDefinition != null) { return new WorkItemQueryDefinitionModel(workItemQueryCommandModel, project, depth, queryDefinition); } throw new ArgumentException(item.GetType().ToString()); }).ToArray()); }
protected WorkItemQueryChildModel(IWorkItemQueryCommandModel workItemQueryCommandModel, int depth) { WorkItemQueryCommandModel = workItemQueryCommandModel; Depth = depth; }
public WorkItemQueryDefinitionModel(IWorkItemQueryCommandModel workItemQueryCommandModel, Project project, int depth, QueryDefinition queryDefinition) : base(workItemQueryCommandModel, depth) { QueryDefinition = queryDefinition; Project = project; }