public CatalogsResultViewModel(VirtualObservatoryResponseBase result, VirtualObservatorySearchRequest request) : this() { _request = request as CatalogSearchRequest; CatalogSearchResult catalogsResult = result as CatalogSearchResult; _catalogs = catalogsResult.Catalogs; }
internal static UserControl PrepareView(VirtualObservatoryResponseBase result, VirtualObservatorySearchRequest request, SearchType searchType) { UserControl ret = null; if(searchType == SearchType.ObjectSearch) { VirtualObservatoryObjects<CelestialObject> _objectsResult = result as VirtualObservatoryObjects<CelestialObject>; if(_objectsResult == null) { ret = new ObjectsDetailsView(); ObjectsDetailsViewModel exactModel = new ObjectsDetailsViewModel(null, request); ret.DataContext = exactModel; return ret; } else if(_objectsResult.Objects != null && _objectsResult.Objects.Count > 0) { if(_objectsResult.Objects.Count == 1) { ret = new ObjectsDetailsView(); ObjectsDetailsViewModel exactModel = new ObjectsDetailsViewModel(_objectsResult.Objects.First(), request); ret.DataContext = exactModel; } else { ret = new ObjectListView(); ObjectSearchResult res = _objectsResult as ObjectSearchResult; ObjectListViewModel listViewModel = new ObjectListViewModel(res, request); ret.DataContext = listViewModel; } } } else if (searchType == SearchType.CatalogSearch) { ret = new CatalogSearchResultsView(); CatalogsResultViewModel catalogsModel = new CatalogsResultViewModel(result, request); ret.DataContext = catalogsModel; } return ret; }
public PageableCatalogResultViewModel(VirtualObservatoryResponseBase result, VirtualObservatorySearchRequest request) { _request = request as CatalogSearchRequest; CatalogSearchResult catalogsResult = result as CatalogSearchResult; _catalogs = new PageableCollection<Catalog>(catalogsResult.Catalogs); }
void StartSearchInternal() { VirtualObservatoryResponseBase result = null; _request = _searchBarViewModel.GetRequest(); TaskScheduler scheduler = TaskScheduler.FromCurrentSynchronizationContext(); cancelTokenSource = new System.Threading.CancellationTokenSource(); System.Threading.CancellationToken cancelationToken = cancelTokenSource.Token; Task.Factory.StartNew(() => { if (cancelTokenSource.Token.IsCancellationRequested) return; result = _proxy.Search(_request, _searchBarViewModel.SearchType); }). ContinueWith(w => { this.ProgressVisible = System.Windows.Visibility.Hidden; this.SearchResultVisible = System.Windows.Visibility.Visible; this.ResultContent = SearchHelper.PrepareView(result, _request, _searchBarViewModel.SearchType); }, cancelationToken, TaskContinuationOptions.None, scheduler); }
//public bool IsSearchActive //{ // get { return _isSearchActive; } // set // { // _isSearchActive = value; // NotifyPropertyChanged(this, new PropertyChangedEventArgs("IsSearchActive")); // } //} //public void OnSearch(SearchCommandParameters parameters) //{ // if (_isSearchActive) // { // if (SearchCancelled != null) // SearchCancelled(this, EventArgs.Empty); // _isSearchActive = false; // } // else // { // if (SearchStarted != null) // SearchStarted(this, EventArgs.Empty); // _isSearchActive = true; // } //} public VirtualObservatorySearchRequest GetRequest() { _searchRequest = new ObjectSearchRequest(); //_searchRequest.SearchTerm = _searchText; return _searchRequest; }
public ObjectListViewModel(ObjectSearchResult searchResult, VirtualObservatorySearchRequest request) { _request = request as ObjectSearchRequest; this.Objects = ModelHelpers.ObjectListFromResult(searchResult); }