public virtual void Submit(JobApplication jobApplication) { // evaluate business rules/policies RuleBase minHireAge = new MinimumHireAgeRule(jobApplication.DateOfBirth); if (!minHireAge.IsValid()) { throw new ApplicationException(String.Format("{0} was violated", minHireAge.Description)); } // stamp today's date jobApplication.DateSubmitted = DateTime.Now; try { this.jobApplicationRepository.Save(jobApplication); } catch (Exception ex) { throw ex; } }
public EmploymentPolicy(Person person) { this.minAge = new MinimumHireAgeRule(person.Age); this.driverLic = new HasDriverLicenseRule(person); }