Exemplo n.º 1
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if(_services == null) _services = new Dictionary<BusStop, DepartureTimeService>();
            var mainViewModel = new MainViewModel {PivotViewModels = new ObservableCollection<PivotViewModel>()};
            using(var db = MadMetroDataContext.NewInstance())
            {
                foreach(var busStopRoute in db.BusStopRoutes.Where(bsr => bsr.IsTracking))
                {
                    if(!_services.ContainsKey(busStopRoute.BusStop))
                    {
                        var service = new DepartureTimeService(busStopRoute.BusStop);
                        service.TimesDetermined += OnDepartureTimeRecieved;
                        _services.Add(busStopRoute.BusStop, service);
                        var pvm = new PivotViewModel
                        {
                            BusStop = busStopRoute.BusStop,
                            BusStopTimes = new ObservableCollection<BusStopTime>(),
                            RouteDirections = new ObservableCollection<RouteDirection>()
                        };

                        mainViewModel.PivotViewModels.Add(pvm);
                    }

                    //get the viewModel for this bus stop so we
                    //can add all tracked RouteDirections
                    var viewModel = mainViewModel.PivotViewModels.Single(pvm => pvm.BusStop.Equals(busStopRoute.BusStop));
                    var routeDirection = new RouteDirection
                                             {
                                                 Direction = busStopRoute.Direction,
                                                 Route = busStopRoute.Route
                                             };
                    viewModel.RouteDirections.Add(routeDirection);
                }
            }
            DataContext = mainViewModel;
        }
Exemplo n.º 2
0
        public void Initialize(IEnumerable<BusStopRoute> busStopRoutes)
        {
            PivotViewModels = new ObservableCollection<PivotViewModel>();

            foreach (var busStopRoute in busStopRoutes)
            {
                //create the pivot view for this bus stop if it doesn't already exist
                if (!_pivotViewModels.Any(pvm => pvm.BusStop.Equals(busStopRoute.BusStop)))
                {

                }

                var viewModel =_pivotViewModels.Single(pvm => pvm.BusStop.Equals(busStopRoute.BusStop));
                viewModel.RouteDirections.Add(new RouteDirection{Direction = busStopRoute.Direction, Route = busStopRoute.Route});
            }

            if(PivotViewModels.Count > 0) SelectedPivotViewModel = PivotViewModels[0];
            NoRoutesTracked = PivotViewModels.Count == 0;
        }