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(); } }
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); }