public FixedAppointmentSet(ClientMedicalPracticeData medicalPractice,
                                   IClientPatientRepository patientsRepository,
                                   IClientLabelRepository labelRepository,
                                   IEnumerable <AppointmentTransferData> initialAppointmentData,
                                   uint aggregateVersion,
                                   AggregateIdentifier identifier,
                                   Action <string> errorCallback)
        {
            AggregateVersion = aggregateVersion;
            Identifier       = identifier;

            var appointmentSet = new AppointmentSet(patientsRepository, labelRepository, initialAppointmentData,
                                                    medicalPractice, errorCallback);

            Appointments = appointmentSet.AppointmentList;
        }
        public AppointmentsOfADayReadModel(IClientEventBus eventBus,
                                           IClientPatientRepository patientsRepository,
                                           IClientLabelRepository labelRepository,
                                           ClientMedicalPracticeData medicalPractice,
                                           IEnumerable <AppointmentTransferData> initialAppointmentData,
                                           AggregateIdentifier identifier,
                                           uint initialAggregateVersion,
                                           Action <string> errorCallback)
            : base(eventBus)
        {
            this.errorCallback = errorCallback;

            AggregateVersion = initialAggregateVersion;
            Identifier       = identifier;

            var initialAppointmentList = initialAppointmentData.ToList();

            appointmentSet = new AppointmentSet(patientsRepository, labelRepository,
                                                initialAppointmentList, medicalPractice,
                                                errorCallback);
        }