public HomeLocationEditorViewModel( ISchedulerProvider schedulerProvider, INavigationService navigationService, IPlacesProvider placesProvider, IEmptyAutocompleteResultProvider autocompleteResultProvider, ISettingsProvider settingsProvider, IGeocodingProvider geocodingProvider) : base(schedulerProvider, placesProvider, geocodingProvider, navigationService) { _autocompleteResultProvider = autocompleteResultProvider; SelectedAutoCompleteResultModelObservable .Subscribe(async result => { var address = await geocodingProvider.ReverseGeocodingFromPlaceId(result.PlaceId); settingsProvider.SetHomeAddress(address); navigationService.GoBack(); }); this.Changed(() => SelectedSearchResult) .Where(r => r is SetLocationOnMapResultModel) .Subscribe(result => { navigationService.NavigateTo <ChooseHomeAddressOnMapViewModel>(); }); }
public DestinationLocationEditorViewModel( ISchedulerProvider schedulerProvider, INavigationService navigationService, IPlacesProvider placesProvider, IGeocodingProvider geocodingProvider, IChooseOnMapViewModelFactory chooseOnMapViewModelFactory, IEmptyAutocompleteResultProvider autocompleteResultProvider, ISelectedDestinationByMapSubscriber destinationByMapSubscriber) : base(schedulerProvider, placesProvider, geocodingProvider, navigationService) { _navigationService = navigationService; _chooseOnMapViewModelFactory = chooseOnMapViewModelFactory; _autocompleteResultProvider = autocompleteResultProvider; this.Changed(() => SelectedSearchResult) .Where(r => r is SetLocationOnMapResultModel) .ObserveOn(schedulerProvider.SynchronizationContextScheduler) .Subscribe(NavigateToChooseDestinationOnMapViewModel); destinationByMapSubscriber.Publisher.Handler.Subscribe(address => { SelectedAddress = address; navigationService.GoBack(); }); }
public PickupLocationEditorViewModel( ISchedulerProvider schedulerProviderer, INavigationService navigationService, IPlacesProvider placesProvider, IGeocodingProvider geocodingProvider, IEmptyAutocompleteResultProvider autocompleteResultProvider) : base(schedulerProviderer, placesProvider, geocodingProvider, navigationService) { _autocompleteResultProvider = autocompleteResultProvider; }
public WorkLocationEditorViewModel( ISchedulerProvider schedulerProvider, INavigationService navigationService, IPlacesProvider placesProvider, IEmptyAutocompleteResultProvider autocompleteResultProvider, ISettingsProvider settingsProvider, IGeocodingProvider geocodingProvider) : base(schedulerProvider, placesProvider, geocodingProvider, navigationService) { _navigationService = navigationService; _autocompleteResultProvider = autocompleteResultProvider; _settingsProvider = settingsProvider; _geocodingProvider = geocodingProvider; this.Changed(() => SelectedSearchResult) .Where(r => r is SetLocationOnMapResultModel) .Subscribe(result => { navigationService.NavigateTo <ChooseWorkAddressOnMapViewModel>(); }); }