Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }