public static RouteScheduleViewModel ConfigureScheduleView(bool calculateEffectiveSchedule) { var vm = new RouteScheduleViewModel(); using (var db = new TrolleyTrackerContext()) { var routeScheduleList = db.RouteSchedules .Include(rs => rs.Route) .OrderBy(rs => rs.DayOfWeek) .ThenBy(rs => rs.StartTime) .ThenBy(rs => rs.Route.ShortName) .ToList(); vm.RouteSchedules = routeScheduleList; if (calculateEffectiveSchedule) { var routeScheduleOverrideList = db.RouteScheduleOverrides .Include(rso => rso.OverriddenRoute) .Include(rso => rso.NewRoute) .OrderBy(rso => rso.OverrideDate) .ThenBy(rso => rso.StartTime) .ThenBy(rso => rso.NewRoute.ShortName) .ToList(); vm.EffectiveRouteSchedules = BuildEffectiveRouteSchedule(routeScheduleList, routeScheduleOverrideList); } } vm.Options = new MvcScheduleGeneralOptions { Layout = LayoutEnum.Horizontal, SeparateDateHeader = false, FullTimeScale = true, TimeScaleInterval = 60, StartOfTimeScale = new TimeSpan(6, 0, 0), EndOfTimeScale = new TimeSpan(23, 59, 59), IncludeEndValue = false, ShowValueMarks = true, ItemCss = "normal", AlternatingItemCss = "normal2", RangeHeaderCss = "heading", TitleCss = "heading", AutoSortTitles = false, BackgroundCss = "empty" }; return(vm); }
public static RouteScheduleViewModel ConfigureScheduleView(TrolleyTrackerContext db, bool calculateEffectiveSchedule) { var vm = new RouteScheduleViewModel(); var routeSchedules = from rs in db.RouteSchedules.Include(rs => rs.Route) orderby rs.DayOfWeek, rs.StartTime ascending, rs.Route.ShortName ascending select rs; vm.RouteSchedules = (System.Data.Entity.Infrastructure.DbQuery <RouteSchedule>)routeSchedules; if (calculateEffectiveSchedule) { var routeScheduleOverrideList = (from rso in db.RouteScheduleOverrides.Include(rso => rso.NewRoute) orderby rso.OverrideDate, rso.StartTime, rso.NewRoute.ShortName select rso).ToList <RouteScheduleOverride>(); var routeScheduleList = routeSchedules.ToList <RouteSchedule>(); vm.EffectiveRouteSchedules = BuildEffectiveRouteSchedule(routeScheduleList, routeScheduleOverrideList); } vm.Options = new MvcScheduleGeneralOptions { Layout = LayoutEnum.Horizontal, SeparateDateHeader = false, FullTimeScale = true, TimeScaleInterval = 60, StartOfTimeScale = new TimeSpan(6, 0, 0), EndOfTimeScale = new TimeSpan(23, 59, 59), IncludeEndValue = false, ShowValueMarks = true, ItemCss = "normal", AlternatingItemCss = "normal2", RangeHeaderCss = "heading", TitleCss = "heading", AutoSortTitles = false, BackgroundCss = "empty" }; return(vm); }