示例#1
0
        /// <summary>
        /// Register Patient
        /// </summary>
        /// <param name="firstName"></param>
        /// <param name="lastName"></param>
        /// <param name="dateOfBirth"></param>
        /// <param name="emailAddress"></param>
        /// <param name="telephoneNumber"></param>
        /// <param name="address"></param>
        /// <param name="postCode"></param>
        /// <param name="patientUniqueChecker"></param>
        /// <returns></returns>
        public static Patient RegisterPatient(IPatientEmailMustBeUniqueRuleValidator patientEmailMustBeUniqueRuleValidator, string firstName, string lastName, DateTime dateOfBirth, string emailAddress, string telephoneNumber, string address, string postCode)
        {
            // validate the business rule
            ValidateBusinessRule(new PatientEmailMustBeUniqueRule(patientEmailMustBeUniqueRuleValidator, emailAddress));

            return(new Patient(firstName, lastName, dateOfBirth, emailAddress, telephoneNumber, address, postCode));
        }
 /// <summary>
 /// RegisterPatientCommandHandler .ctor
 /// </summary>
 /// <param name="patientRepository"></param>
 /// <param name="patientEmailMustBeUniqueRuleValidator"></param>
 /// <param name="mediator"></param>
 public RegisterPatientCommandHandler(IPatientRepository patientRepository, IPatientEmailMustBeUniqueRuleValidator patientEmailMustBeUniqueRuleValidator, IMediator mediator)
 {
     _patientRepository = patientRepository;
     _patientEmailMustBeUniqueRuleValidator = patientEmailMustBeUniqueRuleValidator;
     _mediator = mediator;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="patientUniqueChecker"></param>
 /// <param name="email"></param>
 public PatientEmailMustBeUniqueRule(IPatientEmailMustBeUniqueRuleValidator patientEmailMustBeUniqueRuleValidator, string email)
 {
     _patientEmailMustBeUniqueRuleValidator = patientEmailMustBeUniqueRuleValidator;
     _email = email;
 }