Example #1
0
        private QuestionBlockViewModel CreateQuestionBlock(StackExchangeSite site, int questionCount)
        {
            var block = new QuestionBlockViewModel(_api, site);

            block.ReloadQuestions.Execute(questionCount).Subscribe();
            return(block);
        }
        public QuestionBlockViewModel(Api api, StackExchangeSite site)
        {
            Questions = new ReactiveList <Question>();
            Site      = site;

            ReloadQuestions = ReactiveCommand.CreateFromTask <int, QuestionList>(questionCount => api.GetQuestions(site.api_site_parameter, questionCount));
            ReloadQuestions.ThrownExceptions.BindTo(this, vm => vm.LatestException);
            ReloadQuestions.Subscribe(UpdateQuestions);
        }
Example #3
0
        private IObservable <Unit> ToggleSelected(StackExchangeSite site)
        {
            if (site.IsSelected)
            {
                SelectedSites.Add(site);
            }
            else
            {
                SelectedSites.Remove(site);
            }

            var hashSet = new HashSet <string>(SelectedSites.Select(s => s.api_site_parameter));

            return(BlobCache.UserAccount.InsertObject(_selectedSitesCacheKey, hashSet));
        }