public IHttpActionResult GetRouteSchedule(int id) { RouteSchedule routeSchedule = db.RouteSchedules.Find(id); if (routeSchedule == null) { return NotFound(); } var routeScheduleSummary = new RouteScheduleSummary(routeSchedule); return Ok(routeScheduleSummary); }
/// <summary> /// Obtain effective schedules, and format for display into RouteScheduleSummary /// NOTES: Schedules that result from an override do not have a real database ID, and are not stored in the database /// There may be multiple ID 0 values from created schedules /// </summary> /// <param name="dateLabels"></param> /// <param name="routeSchedules"></param> /// <param name="routeScheduleOverrides"></param> /// <returns></returns> public static List<RouteScheduleSummary> BuildEffectiveRouteSchedule(IEnumerable<RouteSchedule> routeSchedules, IEnumerable<RouteScheduleOverride> routeScheduleOverrides ) { var effectiveRouteSchedules = BuildEffectiveRouteSchedule(DateTime.Now, 14, routeSchedules, routeScheduleOverrides); var sundayDate = DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek); // Date of start of week var effectiveScheduleSummaries = new List<RouteScheduleSummary>(); foreach(var routeSchedule in effectiveRouteSchedules) { var scheduleSummary = new RouteScheduleSummary(routeSchedule); var scheduleDate = sundayDate.AddDays(routeSchedule.DayOfWeek); scheduleSummary.DayOfWeek = scheduleDate.ToShortDateString() + " " + scheduleSummary.DayOfWeek; effectiveScheduleSummaries.Add(scheduleSummary); } return effectiveScheduleSummaries; }