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);
        }
Example #4
0
        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());
        }
Example #5
0
 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;
 }
 protected WorkItemQueryChildModel(IWorkItemQueryCommandModel workItemQueryCommandModel, int depth)
 {
     WorkItemQueryCommandModel = workItemQueryCommandModel;
     Depth = depth;
 }
Example #8
0
 public WorkItemQueryDefinitionModel(IWorkItemQueryCommandModel workItemQueryCommandModel, Project project, int depth, QueryDefinition queryDefinition)
     : base(workItemQueryCommandModel, depth)
 {
     QueryDefinition = queryDefinition;
     Project         = project;
 }