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