public PropertyFinderPresenter(PropertyFinderPersistentState state, PropertyDataSource dataSource, INavigationService navigationService, IGeoLocationService geolocationService) { _propertyDataSource = dataSource; _navigationService = navigationService; _state = state; _geolocationService = geolocationService; }
public SearchResultsPresenter(INavigationService navigationService, PropertyFinderPersistentState state, PropertyListingsResult results, SearchItemBase searchItem, PropertyDataSource dataSource) { _state = state; _navigationService = navigationService; _searchItem = searchItem; _dataSource = dataSource; _properties = results.Data; _totalResult = results.TotalResult; _totalPages = results.TotalPages; }
public SearchResultsViewModel(INavigationService navigationService, PropertyFinderPersistentState state, PropertyListingsResult results, SearchItemBase searchItem, PropertyDataSource dataSource) { _state = state; _navigationService = navigationService; _searchItem = searchItem; _dataSource = dataSource; var propertyViewModels = results.Data.Select(p => new PropertyViewModel(this, state, p)).ToList(); _properties = new ObservableCollection<PropertyViewModel>(propertyViewModels); _totalResult = results.TotalResult; _totalPages = results.TotalPages; }
public PropertyFinderViewModel(PropertyFinderPersistentState state, PropertyDataSource dataSource, INavigationService navigationService, IGeoLocationService geolocationService) { _propertyDataSource = dataSource; _navigationService = navigationService; _state = state; _geolocationService = geolocationService; _recentSearches = state.RecentSearches; foreach (var search in _recentSearches) { search.Parent = this; } }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode != NavigationMode.Back) { var source = new PropertyDataSource(new JsonWebPropertySearch(new MarshalInvokeService())); var geolocationService = new GeoLocationService(); var statePersistence = new StatePersistenceService(); PropertyFinderPersistentState state = statePersistence.LoadState(); _presenter = new PropertyFinderPresenter(state, source, new NavigationService(NavigationService), geolocationService); _presenter.SetView(this); } }
// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // public override bool FinishedLaunching(UIApplication app, NSDictionary options) { window = new UIWindow (UIScreen.MainScreen.Bounds); navigationController = new UINavigationController (); var source = new PropertyDataSource (new JsonWebPropertySearch (new MarshalInvokeService())); var geolocationService = new GeoLocationService (); var statePersistence = new StatePersistenceService (); PropertyFinderPersistentState state = statePersistence.LoadState (); var presenter = new PropertyFinderPresenter (state, source, new NavigationService (navigationController), geolocationService); var controller = new PropertyFinderViewController (presenter); navigationController.PushViewController(controller, false); window.RootViewController = navigationController; // make the window visible window.MakeKeyAndVisible (); return true; }
public override void FindProperties(PropertyDataSource dataSource, int pageNumber, Action<PropertyDataSourceResult> callback, Action<Exception> error) { dataSource.FindProperties(SearchText, pageNumber, callback, error); }
protected override void OnCreate(Bundle bundle) { base.OnCreate (bundle); var app = (PropertyFinderApplication)Application; app.CurrentActivity = this; var uiMarshal = new MarshalInvokeService(app); var source = new PropertyDataSource(new JsonWebPropertySearch(uiMarshal)); geoLocationService = new GeoLocationService((LocationManager)GetSystemService(Context.LocationService), uiMarshal); var stateService = new StatePersistenceService(app); PropertyFinderPersistentState state = stateService.LoadState(); SetContentView (Resource.Layout.PropertyFinderView); searchText = (EditText) FindViewById(Resource.Id.search); searchText.TextChanged += SearchText_Changed; myLocationButton = (Button) FindViewById(Resource.Id.use_location); myLocationButton.Click += LocationButton_Clicked; startSearchButton = (Button) FindViewById(Resource.Id.do_search); startSearchButton.Click += StartSearchButton_Clicked; messageText = (TextView) FindViewById(Resource.Id.mainview_message); recentSearchList = (ListView) FindViewById(Resource.Id.recentsearches_list); recentSearchList.ItemClick += RecentSearchItem_Clicked; adapter = new RecentSearchAdapter(this, new List<RecentSearch>()); recentSearchList.Adapter = adapter; presenter = new PropertyFinderPresenter(state, source, new NavigationService(app), geoLocationService); presenter.SetView(this); app.Presenter = presenter; }
/// <summary> /// Executes the search that this item represents. /// </summary> public abstract void FindProperties(PropertyDataSource dataSource, int pageNumber, Action<PropertyDataSourceResult> callback, Action<Exception> error);
public override void FindProperties(PropertyDataSource dataSource, int pageNumber, Action<PropertyDataSourceResult> callback, Action<Exception> error) { dataSource.FindProperties(Location.Latitude, Location.Longitude, pageNumber, callback, error); }
// Code to execute when the application is launching (eg, from Start) // This code will not execute when the application is reactivated private void Application_Launching(object sender, LaunchingEventArgs e) { var source = new PropertyDataSource(new JsonWebPropertySearch()); var geolocationService = new GeoLocationService(); var statePersistence = new StatePersistenceService(); PropertyFinderPersistentState state = statePersistence.LoadState(); var viewModel = new PropertyFinderViewModel(state, source, new NavigationService(null), geolocationService); RootFrame.DataContext = viewModel; }