private IEnumerable <RotaSession> GetRotaSessions(DayOfWeek day)
 {
     return(RotaSessionsAndSpecifiedSessions.Where(rs => (int)rs.StartDayOfWeek == (int)day).Select(rs => new RotaSession()
     {
         OpeningTime = new TimeSpan(rs.StartTime.Hours, rs.StartTime.Minutes, 0),
         ClosingTime = new TimeSpan(rs.EndTime.Hours, rs.EndTime.Minutes, 0),
         Day = (DayOfWeek)rs.StartDayOfWeek,
     }));
 }
        private string GetOpeningTimes(DayOfWeek day)
        {
            if (RotaSessionsAndSpecifiedSessions == null)
            {
                return(ServiceClosedMessage);
            }

            var rotaSession = RotaSessionsAndSpecifiedSessions.FirstOrDefault(rs => (int)rs.StartDayOfWeek == (int)day);

            return(rotaSession != null
                ? string.Format("{0} - {1}", GetTime(rotaSession.StartTime), GetTime(rotaSession.EndTime))
                : ServiceClosedMessage);
        }
        private ServiceCareItemRotaSession GetNextDayServiceOpens(int closedDay)
        {
            int daysCounted = 0;
            var dayToCheck  = closedDay;

            do
            {
                dayToCheck = IncrementDayOfWeek(dayToCheck);

                var sessionsForDay = RotaSessionsAndSpecifiedSessions.Where(rs => (int)rs.StartDayOfWeek == dayToCheck).OrderBy(rs => new TimeSpan(rs.StartTime.Hours, rs.StartTime.Minutes, 0));

                if (sessionsForDay.Any())
                {
                    return(sessionsForDay.FirstOrDefault());
                }

                daysCounted++;
            }while (daysCounted < 7);

            return(new ServiceCareItemRotaSession());
        }