コード例 #1
0
 public ICollection <PrimaryWorkitem> GetActivePrimaryWorkitems()
 {
     return(processor.GetPrimaryWorkitems(
                GroupFilter.And(
                    Filter.Equal("AssetState", AssetState.Active),
                    Filter.Equal("Timebox.State.Code", "ACTV")
                    ), SortBy.Ascending("Order")).Cast <PrimaryWorkitem>().ToList());
 }
コード例 #2
0
 public ICollection <Workitem> GetActiveSecondaryWorkitems()
 {
     return(processor.GetWorkitems(
                VersionOneProcessor.WorkitemType,
                GroupFilter.And(
                    Filter.OfTypes(VersionOneProcessor.TaskType, VersionOneProcessor.TestType),
                    Filter.Equal("Parent.AssetType", VersionOneProcessor.PrimaryWorkitemType),
                    Filter.Equal("Parent.AssetState", AssetState.Active),
                    Filter.Equal("AssetState", AssetState.Active),
                    Filter.Equal("Parent.Timebox.State.Code", "ACTV"))));
 }
コード例 #3
0
        // TODO make this Story-agnostic. In case of criteria based ex. on Story-only custom fields current filter approach won't let an easy solution.
        public IList <FeatureGroup> GetFeatureGroups(IFilter filter, IFilter childrenFilter)
        {
            var allMembers = GetMembers(Filter.Empty());

            return(queryBuilder.Query(FeatureGroupType, filter)
                   .Select(asset => new FeatureGroup(
                               asset, ListPropertyValues,
                               GetWorkitems(StoryType, GroupFilter.And(Filter.Equal(Entity.ParentAndUpProperty, asset.Oid.Momentless.Token), childrenFilter)),
                               ChooseOwners(asset, allMembers),
                               queryBuilder.TypeResolver))
                   .ToList());
        }
        private IEnumerable <WorkitemEntity> GetClosedWorkitems(DateTime closedSince, string baseWorkitemType, string sourceName)
        {
            var filters = new List <IFilter> {
                Filter.Closed(true),
                Filter.OfTypes(VersionOneProcessor.StoryType, VersionOneProcessor.DefectType),
                Filter.Equal(Entity.SourceNameProperty, sourceName),
            };

            if (closedSince != DateTime.MinValue)
            {
                filters.Add(Filter.Greater(ServerConnector.Entities.Workitem.ChangeDateUtcProperty, closedSince));
            }

            var filter = GroupFilter.And(filters.ToArray());

            return(v1Processor.GetWorkitems(baseWorkitemType, filter));
        }
        private Asset GetProjectByName(string projectName)
        {
            var scopeType = services.Meta.GetAssetType(Workitem.ScopeProperty);
            var scopeName = scopeType.GetAttributeDefinition(Entity.NameProperty);

            var filter = GroupFilter.And(
                Filter.Equal(Entity.NameProperty, projectName),
                Filter.Closed(false)
            );

            var query = new Query(scopeType);
            query.Selection.Add(scopeName);

            var result = queryBuilder.Query(Workitem.ScopeProperty, filter);

            return result.FirstOrDefault();
        }
        public IList <ServerConnector.Entities.Workitem> GetDuplicates(Workitem item)
        {
            var emptyDuplicateList = new List <ServerConnector.Entities.Workitem>();

            if (string.IsNullOrEmpty(item.ExternalSystemName) || string.IsNullOrEmpty(configuration.ExternalIdFieldName))
            {
                return(emptyDuplicateList);
            }

            try {
                var filter = GroupFilter.And(
                    Filter.Equal(Entity.SourceNameProperty, item.ExternalSystemName),
                    Filter.Equal(configuration.ExternalIdFieldName, item.ExternalId),
                    Filter.OfTypes(VersionOneProcessor.PrimaryWorkitemType)
                    );

                var duplicates = v1Processor.GetWorkitems(item.Type, filter);
                return(duplicates);
            } catch (VersionOneException ex) {
                logger.Log(LogMessage.SeverityType.Error, string.Format("Can't get duplicates for {0} {1}. Cause:\n{2}", item.Number, item.Type, ex.Message));
            }

            return(emptyDuplicateList);
        }
コード例 #7
0
 public ICollection <BuildRun> GetBuildRuns(PrimaryWorkitem primaryWorkitem, BuildProject buildProject)
 {
     return(processor.GetBuildRuns(GroupFilter.And(
                                       Filter.Equal("CompletesPrimaryWorkitems", primaryWorkitem.Id),
                                       Filter.Equal("BuildProject", buildProject.Id))));
 }
コード例 #8
0
        private List <Asset> GetAssetLinks(Oid assetOid, IFilter filter)
        {
            var fullFilter = GroupFilter.And(filter, Filter.Equal(AssetAttribute, assetOid.Momentless));

            return(queryBuilder.Query(LinkType, fullFilter));
        }