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