示例#1
0
 private async Task <IEnumerable <Artifact> > CreateResults(ArtifactCriteria criteria, int resultCount)
 {
     if (resultCount > 0 && criteria.Page.IsPageInRange(resultCount, criteria.PageSize))
     {
         return((await _artifactDao.GetArtifacts(criteria).ConfigureAwait(false))
                .Paginate(criteria.Page, criteria.PageSize));
     }
     return(new List <Artifact>());
 }
示例#2
0
        public void Should_return_artifacts_when_criteria_has_type_BrownBagLaunch()
        {
            var criteria = new ArtifactCriteria
            {
                Type     = ArtifactType.BrownBagLaunch,
                PageSize = 20
            };
            var results = _artifactDao.GetArtifacts(criteria).Result;

            results.Should().OnlyContain(x => x.Type == criteria.Type);
        }
示例#3
0
        public void Should_not_return_artifacts_when_criteria_has_type_unknown()
        {
            var criteria = new ArtifactCriteria
            {
                Type     = (ArtifactType)10,
                PageSize = 20
            };
            var results = _artifactDao.GetArtifacts(criteria).Result;

            results.Should().BeEmpty();
        }
示例#4
0
        public void Should_not_return_artifacts_when_criteria_has_title_cleanCode()
        {
            var criteria = new ArtifactCriteria
            {
                Title    = "Clean Code",
                PageSize = 20
            };
            var results = _artifactDao.GetArtifacts(criteria).Result;

            results.Should().OnlyContain(res => res.Title.Contains(criteria.Title));
        }
示例#5
0
        public void Should_not_return_artifacts_when_criteria_has_title_blabla()
        {
            var criteria = new ArtifactCriteria
            {
                Title    = "blabla",
                PageSize = 20
            };
            var results = _artifactDao.GetArtifacts(criteria).Result;

            results.Should().BeEmpty();
        }
示例#6
0
        public void Should_return_artifacts_when_criteria_has_communityId_2()
        {
            var criteria = new ArtifactCriteria
            {
                CommunityId = 2,
                PageSize    = 20
            };
            var results = _artifactDao.GetArtifacts(criteria).Result;

            results.Should().OnlyContain(x => x.CommunityId == criteria.CommunityId);
        }
示例#7
0
        public void Should_not_return_artifacts_when_criteria_has_CommunityId_465()
        {
            var criteria = new ArtifactCriteria
            {
                CommunityId = 465,
                PageSize    = 20
            };
            var results = _artifactDao.GetArtifacts(criteria).Result;

            results.Should().BeEmpty();
        }
示例#8
0
        public void Should_return_artifacts_when_criteria_has_status_inprogress()
        {
            var criteria = new ArtifactCriteria
            {
                Status   = ArtifactStatus.InProgress,
                PageSize = 20
            };
            var results = _artifactDao.GetArtifacts(criteria).Result;

            results.Should().OnlyContain(x => x.Status == criteria.Status);
        }
示例#9
0
        public void Should_not_return_artifacts_when_criteria_has_ids_999()
        {
            var criteria = new ArtifactCriteria
            {
                Ids = new List <int> {
                    999
                },
                PageSize = 20
            };
            var results = _artifactDao.GetArtifacts(criteria).Result;

            results.Should().BeEmpty();
        }
示例#10
0
        public void Should_return_artifacts_when_criteria_has_ids_32_or_4()
        {
            var criteria = new ArtifactCriteria
            {
                Ids = new List <int> {
                    32, 4
                },
                PageSize = 20
            };
            var results = _artifactDao.GetArtifacts(criteria).Result;

            results.Should().OnlyContain(e => criteria.Ids.Contains(e.Id));
        }
示例#11
0
        public async Task <IEnumerable <Artifact> > GetArtifacts(ArtifactCriteria artifactCriteria)
        {
            var dtos = await GetArtifacts();

            Func <ArtifactDto, bool> criteriafilters = artifact => true;

            return(dtos.Where(criteriafilters
                              .FilterOnIds(artifactCriteria.Ids)
                              .FilterOnTitle(artifactCriteria.Title)
                              .FilterOnType(artifactCriteria.Type)
                              .FilterOnStatus(artifactCriteria.Status)
                              .FilterOnMemberId(artifactCriteria.MemberId)
                              .FilterOnCommunityId(artifactCriteria.CommunityId))
                   .Select(_entityFactory.TransformToArtifactEntity));
        }
示例#12
0
 public async Task <int> CountArtifact(ArtifactCriteria artifactCriteria)
 {
     return((await GetArtifacts(artifactCriteria)).Count());
 }