public async Task <IEnumerable <HourlyUnavailability> > GetHourlyUnavailabilityAsync(DateTime date)
        {
            var courtIds = await _courtService.GetCourtIds();

            var hourlyUnavailability = _closedHours.Select(closedHour => new HourlyUnavailability(closedHour, courtIds));

            return(hourlyUnavailability);
        }
        private async Task <HourlyAvailabilityDictionary> InitialiseAvailability()
        {
            var bookingAvailability = new HourlyAvailabilityDictionary();

            var allCourtIds = await _courtService.GetCourtIds();

            for (var i = 0; i < 24; i++)
            {
                var availability = new Dictionary <int, bool>();

                foreach (var id in allCourtIds)
                {
                    availability[id] = true;
                }

                bookingAvailability[i] = availability;
            }

            return(bookingAvailability);
        }
예제 #3
0
        public async Task <IEnumerable <HourlyUnavailability> > GetHourlyUnavailabilityAsync(DateTime date)
        {
            var courts = await _courtService.GetCourtIds();

            if (date.Date != DateTime.UtcNow.Date)
            {
                return(Array.Empty <HourlyUnavailability>());
            }

            var firstHourAvailable = GetFirstHourAvailable();

            var unavailableHours = new List <HourlyUnavailability>();

            for (var i = 0; i < firstHourAvailable; i++)
            {
                unavailableHours.Add(new HourlyUnavailability(i, courts));
            }

            return(unavailableHours);
        }