예제 #1
0
        public MedicalStuff(
            ClinicId clinicId,
            string firstname,
            string lastname,
            DateTime dateOfBirth,
            MedicalStuffRole medicalStuffRole,
            CalendarId calendarId)
        {
            Id                = new MedicalStuffId(Guid.NewGuid());
            _firstname        = firstname;
            _lastname         = lastname;
            _dateOfBirth      = dateOfBirth;
            _medicalStuffRole = medicalStuffRole;
            _clinicId         = clinicId;
            _calendarId       = calendarId;

            if (_medicalStuffRole == MedicalStuffRole.Doctor)
            {
                AddDomainEvent(new DoctorCreatedDomainEvent(Id));
            }

            if (_medicalStuffRole == MedicalStuffRole.Nurse)
            {
                AddDomainEvent(new NurseCreatedDomainEvent(Id));
            }
        }
예제 #2
0
 internal static MedicalStuff CreateNewNurse(
     ClinicId clinicId,
     string firstname,
     string lastname,
     DateTime dateOfBirth)
 {
     return(new MedicalStuff(
                clinicId,
                firstname,
                lastname,
                dateOfBirth,
                MedicalStuffRole.Nurse,
                null));
 }
예제 #3
0
 public MedicalStuff(MedicalStuffId medicalStuffId,
                     ClinicId clinicId,
                     string firstname,
                     string lastname,
                     DateTime dateOfBirth,
                     MedicalStuffRole medicalStuffRole)
 {
     Id                = medicalStuffId;
     _firstname        = firstname;
     _lastname         = lastname;
     _dateOfBirth      = dateOfBirth;
     _clinicId         = clinicId;
     _medicalStuffRole = medicalStuffRole;
 }
예제 #4
0
 internal static MedicalStuff CreateNewDoctor(
     ClinicId clinicId,
     string firstname,
     string lastname,
     DateTime dateOfBirth,
     CalendarId calendarId)
 {
     return(new MedicalStuff(
                clinicId,
                firstname,
                lastname,
                dateOfBirth,
                MedicalStuffRole.Doctor,
                calendarId));
 }
예제 #5
0
        public static MedicalStuff Mapp(this MedicalStaffDto medicalStaffDto)
        {
            var        medId      = new MedicalStuffId(medicalStaffDto.Id);
            CalendarId calendarId = null;

            if (medicalStaffDto.CalendarId != Guid.Parse("00000000-0000-0000-0000-000000000000"))
            {
                calendarId = new CalendarId(medicalStaffDto.CalendarId);
            }

            var clinicId = new ClinicId(medicalStaffDto.ClinicId);

            if (medicalStaffDto.RoleCode == MedicalStuffRole.Doctor.ToString())
            {
                return(new MedicalStuff(medId, clinicId, medicalStaffDto.Firstname, medicalStaffDto.Lastname, medicalStaffDto.DateOfBirth, calendarId, MedicalStuffRole.Doctor));
            }
            else
            {
                return(new MedicalStuff(medId, clinicId, medicalStaffDto.Firstname, medicalStaffDto.Lastname, medicalStaffDto.DateOfBirth, MedicalStuffRole.Nurse));
            }
        }
예제 #6
0
        public static Clinic Mapp(this ClinicsDto clinicsDto)
        {
            var clinicId = new ClinicId(clinicsDto.Id);

            return(new Clinic(clinicId, clinicsDto.Name, clinicsDto.Location));
        }
예제 #7
0
 public ClinicCreatedDomainEvent(ClinicId clinicId)
 {
     ClinicId = clinicId;
 }
예제 #8
0
 public async Task <Clinic> GetByIdAsync(ClinicId id)
 {
     return(await _schedulingContext.Clinics.FindAsync(id));
 }