Пример #1
0
        /// <summary>
        /// Fetch all available appointment booking for a Provider based on the given date.
        /// </summary>
        /// <param name="providerId"></param>
        /// <param name="date"></param>
        /// <returns></returns>
        public List <String> GetAvailableAppointmentBookings(int providerId, string date)
        {
            using (var dataContext = new HealthReunionEntities())
            {
                var           parsedDate       = DateTime.Parse(date);
                List <String> availableSlots   = new List <String>();
                var           appointmentEnums = StringValueAttribute.GetStringValues(typeof(AppointmentTimeEnum));
                var           matchedAppointmentBookingTime = (from appointment in dataContext.Appointments
                                                               where appointment.AppointmentDate == parsedDate &&
                                                               appointment.ProviderId == providerId
                                                               select appointment.Time).ToList();

                foreach (var time in appointmentEnums)
                {
                    if (!matchedAppointmentBookingTime.Contains(time))
                    {
                        availableSlots.Add(time);
                    }
                }

                return(availableSlots);
            }
        }