Exemple #1
0
        public void TestMaximum()
        {
            var member = new Member {
                Id = Guid.NewGuid()
            };
            var jobAds = CreateJobAds(member, 127);

            for (var max = 0; max < 200; max += 10)
            {
                var criteria = new JobAdSearchSortCriteria {
                    SortOrder = JobAdSortOrder.CreatedTime
                };
                var execution = Sort(member, criteria, new Range(0, max));

                Assert.AreEqual(jobAds.Count, execution.Results.TotalMatches);
                Assert.IsTrue(jobAds.Take(max).SequenceEqual(execution.Results.JobAdIds));

                criteria = new JobAdSearchSortCriteria {
                    SortOrder = JobAdSortOrder.CreatedTime, ReverseSortOrder = true
                };
                execution = Sort(member, criteria, new Range(0, max));

                Assert.AreEqual(jobAds.Count, execution.Results.TotalMatches);
                Assert.IsTrue(jobAds.Reverse().Take(max).SequenceEqual(execution.Results.JobAdIds));
            }
        }
Exemple #2
0
        public void TestPaging()
        {
            var member = new Member {
                Id = Guid.NewGuid()
            };
            var jobAds = CreateJobAds(member, 127);

            const int page = 25;

            for (var index = 0; index *page < 200; ++index)
            {
                var criteria = new JobAdSearchSortCriteria {
                    SortOrder = JobAdSortOrder.CreatedTime
                };
                var execution = Sort(member, criteria, new Range(index * page, page));

                Assert.AreEqual(jobAds.Count, execution.Results.TotalMatches);
                Assert.IsTrue(jobAds.Skip(index * page).Take(page).SequenceEqual(execution.Results.JobAdIds));

                criteria = new JobAdSearchSortCriteria {
                    SortOrder = JobAdSortOrder.CreatedTime, ReverseSortOrder = true
                };
                execution = Sort(member, criteria, new Range(index * page, page));

                Assert.AreEqual(jobAds.Count, execution.Results.TotalMatches);
                Assert.IsTrue(jobAds.Reverse().Skip(index * page).Take(page).SequenceEqual(execution.Results.JobAdIds));
            }
        }
        protected TListModel Sort <TListModel>(IMember member, JobAdSearchSortCriteria criteria, JobAdsPresentationModel presentation, JobAdListType listType, Func <IMember, JobAdSearchSortCriteria, Range, JobAdSortExecution> sort)
            where TListModel : JobAdSortListModel, new()
        {
            presentation = PreparePresentationModel(presentation);

            // Search.

            var execution = sort(member, criteria, presentation.Pagination.ToRange());

            var model = new TListModel
            {
                ListType     = listType,
                Criteria     = execution.Criteria,
                Presentation = presentation,
                Results      = new JobAdListResultsModel
                {
                    TotalJobAds = execution.Results.TotalMatches,
                    JobAdIds    = execution.Results.JobAdIds,
                    JobAds      = GetMemberJobAdViews(member, execution.Results.JobAdIds),
                },
                Industries = _industriesQuery.GetIndustries(),
            };

            return(model);
        }
        private JobAdSortExecution Sort(IHasId <Guid> member, JobAdSearchSortCriteria sortCriteria, Range range, Func <IJobAdSortService, Guid?, JobAdSortQuery, JobAdSearchResults> sort)
        {
            var criteria = new JobAdSortCriteria {
                SortCriteria = sortCriteria
            };

            JobAdSearchResults results;
            var service = _serviceManager.Create();

            try
            {
                results = sort(service, member == null ? (Guid?)null : member.Id, criteria.GetSortQuery(range));
            }
            catch (Exception)
            {
                _serviceManager.Abort(service);
                throw;
            }
            _serviceManager.Close(service);

            return(new JobAdSortExecution
            {
                Criteria = criteria,
                Results = results,
            });
        }
Exemple #5
0
 private FolderListModel Sort(IMember member, Guid folderId, JobAdSearchSortCriteria criteria, JobAdsPresentationModel presentation)
 {
     return(Sort <FolderListModel>(
                member,
                criteria ?? new JobAdSearchSortCriteria {
         SortOrder = DefaultSortOrder
     },
                presentation,
                JobAdListType.Folder,
                (m, c, r) => _executeJobAdSortCommand.SortFolder(m, folderId, c, r)));
 }
        public void TestSimpleSort()
        {
            _australia = _locationQuery.GetCountry("Australia");

            var employer = _employerAccountsCommand.CreateTestEmployer(0, _organisationsCommand.CreateTestOrganisation(0));

            var one = employer.CreateTestJobAd("Title one", "The content for the first ad");

            one.CreatedTime        = DateTime.Now.AddDays(-1); // Just to make sure it's before "two"; we only index days.
            one.Description.Salary = new Salary {
                LowerBound = 50000, UpperBound = 60000, Rate = SalaryRate.Year, Currency = Currency.AUD
            };
            _jobAdsCommand.CreateJobAd(one);
            _jobAdsCommand.OpenJobAd(one);

            var two = employer.CreateTestJobAd("Title two", "Different content for the second ad");

            _locationQuery.ResolvePostalSuburb(two.Description.Location, _australia, "2000");
            two.Description.CompanyName = "Really Bad Employers";
            two.Description.JobTypes    = JobTypes.Contract;
            two.Description.Industries  = new List <Industry> {
                _industriesQuery.GetIndustry("Other")
            };
            _jobAdsCommand.CreateJobAd(two);
            _jobAdsCommand.OpenJobAd(two);

            var member = new Member {
                Id = Guid.NewGuid()
            };
            var flagList = _jobAdFlagListsQuery.GetFlagList(member);

            _memberJobAdListsCommand.AddJobAdToFlagList(member, flagList, one.Id);
            _memberJobAdListsCommand.AddJobAdToFlagList(member, flagList, two.Id);

            // Title only

            var criteria = new JobAdSearchSortCriteria {
                SortOrder = JobAdSortOrder.JobType
            };

            TestSort(member, criteria, one, two);

            // Title and content

            criteria = new JobAdSearchSortCriteria {
                SortOrder = JobAdSortOrder.CreatedTime
            };
            TestSort(member, criteria, two, one);

            // No results

            //criteria = new JobAdSortCriteria { AdTitle = "one", Keywords = "second" };
            //TestSort(criteria);
        }
        private void TestSort(IMember member, JobAdSearchSortCriteria criteria, params JobAd[] expectedResults)
        {
            var execution = _executeJobAdSortCommand.SortFlagged(member, criteria, new Range(0, expectedResults.Length + 1));

            Assert.AreEqual(expectedResults.Length, execution.Results.TotalMatches);
            Assert.AreEqual(expectedResults.Length, execution.Results.JobAdIds.Count);
            for (var index = 0; index < expectedResults.Length; index++)
            {
                Assert.AreEqual(expectedResults[index].Id, execution.Results.JobAdIds[index], string.Format("Result {0} did not match", index));
            }
        }
        public ActionResult BlockList(JobAdSearchSortCriteria sortCriteria, JobAdsPresentationModel presentation)
        {
            var model = BlockListResults(sortCriteria, presentation);

            if (model == null)
            {
                return(NotFound("blocklist"));
            }

            MemberContext.CurrentJobAds = new BlockListNavigation(presentation);
            return(View("BlockList", model));
        }
Exemple #9
0
        public ActionResult PartialFlagList(JobAdSearchSortCriteria sortCriteria, JobAdsPresentationModel presentation)
        {
            var model = FlagListResults(sortCriteria, presentation);

            if (model == null)
            {
                return(NotFound("flaglist"));
            }

            MemberContext.CurrentJobAds = new FlagListNavigation(presentation);
            return(PartialView("JobAdList", model));
        }
        public ActionResult PartialFolder(Guid folderId, JobAdSearchSortCriteria sortCriteria, JobAdsPresentationModel presentation)
        {
            var model = FolderResults(folderId, sortCriteria, presentation);

            if (model == null)
            {
                return(NotFound("folder", "id", folderId));
            }

            MemberContext.CurrentJobAds = new FolderNavigation(folderId, presentation);
            return(PartialView("JobAdList", model));
        }
        public ActionResult PartialMobileFolder(JobAdSearchSortCriteria sortCriteria, JobAdsPresentationModel presentation)
        {
            var member = CurrentMember;
            var folder = _jobAdFoldersQuery.GetMobileFolder(member);
            if (folder == null)
                return NotFound("folder");

            var model = FolderResults(folder.Id, sortCriteria, presentation);
            if (model == null)
                return NotFound("folder", "id", folder.Id);

            MemberContext.CurrentJobAds = new FolderNavigation(folder.Id, presentation);
            return PartialView("JobAdList", model);
        }
Exemple #12
0
 protected void AssertSortOrder(JobAdSearchSortCriteria criteria)
 {
     Assert.AreEqual(criteria.SortOrder.ToString(), _sortOrderDropDownList.SelectedItem.Value);
     if (criteria.ReverseSortOrder)
     {
         Assert.IsNotNull(Browser.CurrentHtml.DocumentNode.SelectSingleNode("//div[@class='ascending active']"));
         Assert.IsNull(Browser.CurrentHtml.DocumentNode.SelectSingleNode("//div[@class='ascending ']"));
         Assert.IsNull(Browser.CurrentHtml.DocumentNode.SelectSingleNode("//div[@class='descending active']"));
         Assert.IsNotNull(Browser.CurrentHtml.DocumentNode.SelectSingleNode("//div[@class='descending ']"));
     }
     else
     {
         Assert.IsNull(Browser.CurrentHtml.DocumentNode.SelectSingleNode("//div[@class='ascending active']"));
         Assert.IsNotNull(Browser.CurrentHtml.DocumentNode.SelectSingleNode("//div[@class='ascending ']"));
         Assert.IsNotNull(Browser.CurrentHtml.DocumentNode.SelectSingleNode("//div[@class='descending active']"));
         Assert.IsNull(Browser.CurrentHtml.DocumentNode.SelectSingleNode("//div[@class='descending ']"));
     }
 }
Exemple #13
0
        protected static ReadOnlyUrl GetUrl(Url url, JobAdSearchSortCriteria criteria, int?page, int?items)
        {
            if (criteria != null)
            {
                url.QueryString["SortOrder"]          = criteria.SortOrder.ToString();
                url.QueryString["SortOrderDirection"] = criteria.ReverseSortOrder ? "SortOrderIsAscending" : "SortOrderIsDescending";
            }
            if (page != null)
            {
                url.QueryString["Page"] = page.Value.ToString(CultureInfo.InvariantCulture);
            }
            if (items != null)
            {
                url.QueryString["Items"] = items.Value.ToString(CultureInfo.InvariantCulture);
            }

            return(url);
        }
Exemple #14
0
        protected FolderListModel FolderResults(Guid folderId, JobAdSearchSortCriteria sortCriteria, JobAdsPresentationModel presentation)
        {
            var member = CurrentMember;
            var folder = _jobAdFoldersQuery.GetFolder(member, folderId);

            if (folder == null)
            {
                return(null);
            }

            // Do a search to get the jobads in this folder.

            var model = Sort(member, folderId, sortCriteria, presentation);

            model.Folder      = folder;
            model.Folders     = GetFoldersModel();
            model.BlockLists  = GetBlockListsModel();
            model.SortOrders  = SortOrders;
            model.Communities = _communitiesQuery.GetCommunities().ToDictionary(c => c.Id, c => c);
            model.Verticals   = _verticalsQuery.GetVerticals().ToDictionary(v => v.Id, v => v);
            return(model);
        }
Exemple #15
0
        private FlagListListModel FlagListResults(JobAdSearchSortCriteria sortCriteria, JobAdsPresentationModel presentation)
        {
            var member   = CurrentMember;
            var flagList = _jobAdFlagListsQuery.GetFlagList(member);

            if (flagList == null)
            {
                return(null);
            }

            // Do a search to get the jobads in this flagList.

            var model = Sort(member, sortCriteria, presentation);

            model.FlagList    = flagList;
            model.Folders     = GetFoldersModel();
            model.BlockLists  = GetBlockListsModel();
            model.SortOrders  = SortOrders;
            model.Communities = _communitiesQuery.GetCommunities().ToDictionary(c => c.Id, c => c);
            model.Verticals   = _verticalsQuery.GetVerticals().ToDictionary(v => v.Id, v => v);
            return(model);
        }
Exemple #16
0
        public void TestClosedAds()
        {
            var employer = CreateEmployer(0);
            var member   = new Member {
                Id = Guid.NewGuid()
            };

            var jobAd = CreateJobAd(member, employer.Id, JobAdStatus.Closed);

            IndexJobAd(jobAd);

            // Search without filter.

            var jobQuery = new JobAdSearchSortCriteria();
            var results  = Sort(member, jobQuery);

            Assert.AreEqual(1, results.Count);

            //Now add an open one

            jobAd = CreateJobAd(member, employer.Id, JobAdStatus.Open);
            IndexJobAd(jobAd);

            // Search without filter.

            results = Sort(member, jobQuery);
            Assert.AreEqual(2, results.Count);

            //Now add another closed one

            jobAd = CreateJobAd(member, employer.Id, JobAdStatus.Closed);
            IndexJobAd(jobAd);

            // Search without filter.

            results = Sort(member, jobQuery);
            Assert.AreEqual(3, results.Count);
        }
Exemple #17
0
        public void TestNoRange()
        {
            var member = new Member {
                Id = Guid.NewGuid()
            };
            var jobAds = CreateJobAds(member, 127);

            var criteria = new JobAdSearchSortCriteria {
                SortOrder = JobAdSortOrder.CreatedTime
            };
            var execution = Sort(member, criteria, null);

            Assert.AreEqual(jobAds.Count, execution.Results.TotalMatches);
            Assert.IsTrue(jobAds.SequenceEqual(execution.Results.JobAdIds));

            criteria = new JobAdSearchSortCriteria {
                SortOrder = JobAdSortOrder.CreatedTime, ReverseSortOrder = true
            };
            execution = Sort(member, criteria, null);

            Assert.AreEqual(jobAds.Count, execution.Results.TotalMatches);
            Assert.IsTrue(jobAds.Reverse().SequenceEqual(execution.Results.JobAdIds));
        }
Exemple #18
0
 private FlagListListModel Sort(IMember member, JobAdSearchSortCriteria criteria, JobAdsPresentationModel presentation)
 {
     return(Sort <FlagListListModel>(member, criteria ?? new JobAdSearchSortCriteria {
         SortOrder = DefaultSortOrder
     }, presentation, JobAdListType.FlagList, (m, c, r) => _executeJobAdSortCommand.SortFlagged(m, c, r)));
 }
Exemple #19
0
 protected override JobAdSortExecution Sort(IMember member, JobAdSearchSortCriteria criteria, Range range)
 {
     return(_executeJobAdSortCommand.SortFolder(member, _jobAdFoldersQuery.GetFolders(member).OrderBy(f => f.Name).ToList()[0].Id, criteria, range));
 }
Exemple #20
0
 protected override JobAdSortExecution Sort(IMember member, JobAdSearchSortCriteria criteria, Range range)
 {
     return(_executeJobAdSortCommand.SortBlocked(member, criteria, range));
 }
Exemple #21
0
        public void TestSortFlagged()
        {
            var employer = CreateEmployer();

            // Create 25 flagged and 25 not.

            const int count  = 50;
            var       jobAds = Enumerable.Range(1, count).Select(index => CreateJobAd(employer, null)).ToList();

            var member = CreateMember();

            _memberJobAdListsCommand.AddJobAdsToFlagList(member, _jobAdFlagListsQuery.GetFlagList(member), jobAds.Take(count / 2).Select(j => j.Id));

            var folder = _jobAdFoldersQuery.GetFolders(member)[0];

            _memberJobAdListsCommand.AddJobAdsToFolder(member, folder, from j in jobAds select j.Id);

            // Default.

            var criteria = new JobAdSearchSortCriteria {
                SortOrder = JobAdSortOrder.Flagged, ReverseSortOrder = false
            };

            LogIn(member);

            // First 25 should be flagged.

            int?page       = 1;
            int?items      = 25;
            var url        = GetFolderUrl(folder.Id, criteria, page, items);
            var partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);

            AssertJobAds(false, url, partialUrl, criteria, page, items, count, jobAds.Take(count / 2));

            // Next 25 should not be.

            page       = 2;
            items      = 25;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(false, url, partialUrl, criteria, page, items, count, jobAds.Skip(count / 2));

            // Change direction.

            criteria.ReverseSortOrder = true;

            // First 25 should not be flagged.

            page       = 1;
            items      = 25;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(false, url, partialUrl, criteria, page, items, count, jobAds.Skip(count / 2));

            // Next 25 should be.

            page       = 2;
            items      = 25;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(false, url, partialUrl, criteria, page, items, count, jobAds.Take(count / 2));
        }
Exemple #22
0
        private void TestSort(JobAdSortOrder sortOrder, Action <JobAd, int> prepareCreate)
        {
            var employer = CreateEmployer();

            // More recently created job ads appear at the top.

            const int count  = 205;
            var       jobAds = Enumerable.Range(1, count).Select(index => CreateJobAd(employer, j => prepareCreate(j, index))).ToList();

            var member = CreateMember();
            var folder = _jobAdFoldersQuery.GetFolders(member)[0];

            _memberJobAdListsCommand.AddJobAdsToFolder(member, folder, from j in jobAds select j.Id);

            // Default, more recently created appear at top.

            var criteria = new JobAdSearchSortCriteria {
                SortOrder = sortOrder, ReverseSortOrder = false
            };

            LogIn(member);
            int?        page  = null;
            int?        items = null;
            ReadOnlyUrl url;
            ReadOnlyUrl partialUrl;

            if (sortOrder == JobAdSortOrder.CreatedTime)
            {
                url        = GetFolderUrl(folder.Id);
                partialUrl = GetPartialFolderUrl(folder.Id);
                AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Take(10));
            }

            // Explicit default.

            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Take(10));

            // Explicit default pagination.

            page       = 1;
            items      = 10;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Take(10));

            // Change page and items.

            page       = 3;
            items      = 25;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Skip((page.Value - 1) * items.Value).Take(items.Value));

            // Change direction.

            criteria.ReverseSortOrder = true;
            jobAds.Reverse();

            page       = null;
            items      = null;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Take(10));

            // Explicit default pagination.

            page       = 1;
            items      = 10;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Take(10));

            // Change page and items.

            page       = 3;
            items      = 25;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Skip((page.Value - 1) * items.Value).Take(items.Value));
        }
Exemple #23
0
        private void AssertJobAds(bool assertSequential, ReadOnlyUrl url, ReadOnlyUrl partialUrl, JobAdSearchSortCriteria criteria, int?page, int?items, int count, IEnumerable <JobAd> expectedJobAds)
        {
            Get(url);

            // Check elements.

            AssertEmptyJobAds(false);
            AssertSortOrders(criteria.SortOrder, new[] { JobAdSortOrder.CreatedTime, JobAdSortOrder.Flagged, JobAdSortOrder.JobType, JobAdSortOrder.Salary });
            AssertSortOrder(criteria);
            AssertItemsPerPage(items);
            AssertPagination(page, items, count);

            // Check job ads.

            var jobAds = expectedJobAds.ToArray();

            AssertJobAds(assertSequential, jobAds);

            Get(partialUrl);
            AssertJobAds(assertSequential, jobAds);
        }
Exemple #24
0
 private ICollection <Guid> Sort(IMember member, JobAdSearchSortCriteria criteria)
 {
     return(_executeJobAdSortCommand.SortFlagged(member, criteria, new Range(0, 10)).Results.JobAdIds);
 }
Exemple #25
0
 private static ReadOnlyUrl GetPartialFolderUrl(Guid folderId, JobAdSearchSortCriteria criteria, int?page, int?items)
 {
     return(GetUrl(GetPartialFolderUrl(folderId).AsNonReadOnly(), criteria, page, items));
 }
Exemple #26
0
 protected abstract JobAdSortExecution Sort(IMember member, JobAdSearchSortCriteria criteria, Range range);
Exemple #27
0
        public void TestSortJobType()
        {
            var employer = CreateEmployer();

            // Create 25 of each.

            const int count  = 25;
            var       jobAds = Enumerable.Range(1, count).Select(index => CreateJobAd(employer, j => j.Description.JobTypes = JobTypes.FullTime)).ToList();

            jobAds.AddRange(Enumerable.Range(1, count).Select(index => CreateJobAd(employer, j => j.Description.JobTypes = JobTypes.PartTime)));
            jobAds.AddRange(Enumerable.Range(1, count).Select(index => CreateJobAd(employer, j => j.Description.JobTypes = JobTypes.Contract)));

            var member = CreateMember();
            var folder = _jobAdFoldersQuery.GetFolders(member)[0];

            _memberJobAdListsCommand.AddJobAdsToFolder(member, folder, from j in jobAds select j.Id);

            // Default, more recently created appear at top.

            var criteria = new JobAdSearchSortCriteria {
                SortOrder = JobAdSortOrder.JobType, ReverseSortOrder = false
            };

            LogIn(member);

            // First 25 should be full time.

            int?page       = 1;
            int?items      = 25;
            var url        = GetFolderUrl(folder.Id, criteria, page, items);
            var partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);

            AssertJobAds(false, url, partialUrl, criteria, page, items, 3 * count, jobAds.Where(j => j.Description.JobTypes == JobTypes.FullTime));

            // Next 25 should be part time.

            page       = 2;
            items      = 25;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(false, url, partialUrl, criteria, page, items, 3 * count, jobAds.Where(j => j.Description.JobTypes == JobTypes.PartTime));

            // Next 25 should be contract.

            page       = 3;
            items      = 25;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(false, url, partialUrl, criteria, page, items, 3 * count, jobAds.Where(j => j.Description.JobTypes == JobTypes.Contract));

            // Change direction.

            criteria.ReverseSortOrder = true;

            // First 25 should be contract.

            page       = 1;
            items      = 25;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(false, url, partialUrl, criteria, page, items, 3 * count, jobAds.Where(j => j.Description.JobTypes == JobTypes.Contract));

            // Next 25 should be part time.

            page       = 2;
            items      = 25;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(false, url, partialUrl, criteria, page, items, 3 * count, jobAds.Where(j => j.Description.JobTypes == JobTypes.PartTime));

            // Next 25 should be full time.

            page       = 3;
            items      = 25;
            url        = GetFolderUrl(folder.Id, criteria, page, items);
            partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items);
            AssertJobAds(false, url, partialUrl, criteria, page, items, 3 * count, jobAds.Where(j => j.Description.JobTypes == JobTypes.FullTime));
        }
 JobAdSortExecution IExecuteJobAdSortCommand.SortFolder(IMember member, Guid folderId, JobAdSearchSortCriteria sortCriteria, Range range)
 {
     return(Sort(member, sortCriteria, range, (s, m, q) => s.SortFolder(m, folderId, q)));
 }
Exemple #29
0
 private static ReadOnlyUrl GetPartialFlagListUrl(JobAdSearchSortCriteria criteria, int?page, int?items)
 {
     return(GetUrl(GetPartialFlagListUrl().AsNonReadOnly(), criteria, page, items));
 }
 JobAdSortExecution IExecuteJobAdSortCommand.SortBlocked(IMember member, JobAdSearchSortCriteria sortCriteria, Range range)
 {
     return(Sort(member, sortCriteria, range, (s, m, q) => s.SortBlocked(m, q)));
 }