Ejemplo n.º 1
0
        public SOFMainWindowControl(string query)
        {
            InitializeComponent();
            var model = NaiveCache.GetSearchModel(query);

            txtSearch.Text            = query;
            icSearchItems.ItemsSource = model.Items;
        }
Ejemplo n.º 2
0
        private bool LoadFromCache()
        {
            var result = NaiveCache.GetSearchModel(txtSearch.Text);

            if (result == null)
            {
                return(false);
            }
            icSearchItems.ItemsSource = result.Items;
            return(true);
        }
Ejemplo n.º 3
0
        private void AddToCache(List <SOFSearchModel.Item> items)
        {
            var cache = new SearchCacheModel()
            {
                Query   = txtSearch.Text,
                Items   = items,
                AddedOn = DateTime.Now
            };

            NaiveCache.AddSearchModel(cache);
        }
Ejemplo n.º 4
0
        private async Task LoadAnswersFromStackoverflow(QuestionCacheModel cacheModel)
        {
            _client = new Client();
            var result = await _client.GetAnswersResultAsync(_questionId);

            foreach (var item in result.Items)
            {
                item.BodyMarkdown = HtmlParser(item.BodyMarkdown);
            }
            result.Items          = result.Items.OrderByDescending(x => x.IsAccepted).ToList();
            icAnswers.ItemsSource = result.Items;
            cacheModel.Answers    = result.Items;
            NaiveCache.AddQuestionModel(cacheModel);
        }
Ejemplo n.º 5
0
        private bool LoadFromCache()
        {
            var model = NaiveCache.GetQuestionModel(_questionId);

            if (model != null)
            {
                txtTitle.Text         = HtmlParser(model.Question.Title);
                txtBody.Text          = HtmlParser(model.Question.BodyMarkdown);
                btnGotToSite.Tag      = model.Question.Link;
                icAnswers.ItemsSource = model.Answers;
                return(true);
            }
            return(false);
        }