示例#1
0
        private void CheckLimits(Guid employerId)
        {
            var counts = _jobAdsQuery.GetOpenJobAdCounts(employerId);

            // Check whether the current count + the new job ad puts them over the limit.

            if (counts.Item1 + 1 > _dailyLimit || counts.Item2 + 1 > _weeklyLimit)
            {
                throw new TooManyJobAdsException();
            }
        }
示例#2
0
        public void TestDailyLimit()
        {
            var employer = CreateEmployer();
            var counts   = _jobAdsQuery.GetOpenJobAdCounts(employer.Id);

            Assert.AreEqual(0, counts.Item1);
            Assert.AreEqual(0, counts.Item2);

            JobAd jobAd;

            try
            {
                for (var index = 0; index < DailyLimit; ++index)
                {
                    jobAd = CreateJobAd(employer.Id, 0);

                    // Create and open the job ad.

                    _employerJobAdsCommand.CreateJobAd(employer, jobAd);
                    _employerJobAdsCommand.OpenJobAd(employer, jobAd, true);

                    // Check.

                    AssertJobAd(jobAd, _employerJobAdsQuery.GetJobAd <JobAd>(employer, jobAd.Id));
                }
            }
            catch (Exception)
            {
                Assert.Fail("Too soon.");
            }

            // One more.

            jobAd = CreateJobAd(employer.Id, 0);

            // Create and open the job ad.

            _employerJobAdsCommand.CreateJobAd(employer, jobAd);
            _employerJobAdsCommand.OpenJobAd(employer, jobAd, true);
        }