Ejemplo n.º 1
0
        // Add a new char to current search, causes searc to fire
        private Task <Boolean> UpdateSearchText(AlphaInputViewModel viewModel)
        {
            var currentSearch = CurrentSearch;

            var indexOption = viewModel.CurrentIndexOption == null ? string.Empty : viewModel.CurrentIndexOption.Name;

            if (string.Compare(indexOption, "_") == 0)
            {
                indexOption = " ";
            }

            if (string.Compare(indexOption, "back") == 0)
            {
                if (CurrentSearch.Length > 0)
                {
                    CurrentSearch = CurrentSearch.Substring(0, CurrentSearch.Length - 1);
                }
            }
            else
            {
                CurrentSearch = CurrentSearch + indexOption;
            }

            return(Task.FromResult(true));
        }
Ejemplo n.º 2
0
        public void Dispose()
        {
            lock (_searchSyncLock)
            {
                if (_updateSearchTimer != null)
                {
                    _updateSearchTimer.Dispose();
                    _updateSearchTimer = null;
                }
            }

            if (MatchedItemsViewModel != null)
            {
                MatchedItemsViewModel.Dispose();
            }
            if (MatchedPeopleViewModel != null)
            {
                MatchedPeopleViewModel.Dispose();
            }

            if (AlphaInputViewModel != null)
            {
                AlphaInputViewModel.Dispose();
            }
        }
Ejemplo n.º 3
0
        public SearchViewModel(IPresentationManager presentationManager, IImageManager imageManager, IApiClient apiClient, ISessionManager sessionManager, INavigationService navService, IPlaybackManager playbackManager, ILogger logger)
        {
            _presentationManager = presentationManager;
            _imageManager        = imageManager;
            _apiClient           = apiClient;
            _sessionManager      = sessionManager;
            _navService          = navService;
            _playbackManager     = playbackManager;
            _logger     = logger;
            _dispatcher = Dispatcher.CurrentDispatcher;

            LoadMatchedItemsViewModel();
            LoadMatchedPeopleViewModel();

            AlphaInputViewModel = new AlphaInputViewModel(UpdateSearchText, presentationManager, _imageManager, _apiClient, _navService, _playbackManager, _logger);
        }