Ejemplo n.º 1
0
        public List <Appointment> GetAvailableByPriorityDoctor(PriorityParameters parameters)
        {
            parameters.ChosenStartDate = parameters.ChosenStartDate.AddDays(-datePriorityRange);
            parameters.ChosenEndDate   = parameters.ChosenEndDate.AddDays(datePriorityRange);
            List <Appointment> appointments = GetAvailableByDoctorAndDateRange(parameters);

            return(appointments);
        }
Ejemplo n.º 2
0
        public List <Appointment> Recommend(PriorityParameters parameters)
        {
            List <Appointment> recommendedAppointments = new List <Appointment>();
            List <Doctor>      doctors = GetDoctorsBy(parameters.SpecializationId);

            recommendedAppointments = RecommendationResult(doctors, parameters);

            return(recommendedAppointments);
        }
Ejemplo n.º 3
0
        public List <Appointment> RecommendationResult(List <Doctor> doctors, PriorityParameters parameters)
        {
            List <Appointment> result = new List <Appointment>();

            foreach (Doctor doctorIt in doctors)
            {
                parameters.DoctorId = doctorIt.Id;
                List <Appointment> appointments = _appointmentService.GetAvailableByDoctorAndDateRange(parameters);
                result.AddRange(appointments);
                if (result.Count >= NUMBER_OF_RECOMMENDED_APPOINTMENTS)
                {
                    return(result.Where(ap => result.IndexOf(ap) < NUMBER_OF_RECOMMENDED_APPOINTMENTS).ToList());
                }
            }

            return(result);
        }
Ejemplo n.º 4
0
 public Appointment RecommendAppointment(PriorityParameters parameters) => availableAppointmentService.RecommendAppointment(parameters);