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 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()); }