Esempio n. 1
0
        private async void LoadStreets()
        {
            // Load streets
            var loader = new StreetLoader();

            _streets = loader.LoadStreets().ToArray();

            // Create view models
            _navigationService        = DependencyService.Get <INavigationService>();
            _streetsViewModel         = new SteetsViewModel(_streets, _navigationService);
            _locationService          = DependencyService.Get <ILocationService>();
            _filterViewModelViewModel = new FilterViewModel(_locationService);
            var streetTypeViewModels = _streets.Select(street => street.Type).Distinct();

            _filterViewModelViewModel.Types =
                new ObservableCollection <StreetTypeViewModel>(streetTypeViewModels.Select(name => new StreetTypeViewModel(name)));

            // Setup first run
            _filterViewModelViewModel.FilterChanged += OnFilterChanged;
            await _streetsViewModel.OnFilterChanged(_filterViewModelViewModel);

            //Init view
            var carouselPage = new CarouselPage();

            carouselPage.Children.Add(new SearchPage
            {
                BindingContext = new SearchPageViewModel
                {
                    Streets         = _streetsViewModel,
                    FilterViewModel = _filterViewModelViewModel
                }
            });
            carouselPage.Children.Add(new FilterSettings {
                BindingContext = _filterViewModelViewModel
            });
            MainPage = carouselPage;
        }
 public void TestInitialize()
 {
     var sl = new StreetLoader();
     var streets = sl.LoadStreets();
     _streets = new SteetsViewModel(streets, null);
 }