public static void CreateReadArticle()
 {
     if (_readArticleViewModel == null)
     {
         _readArticleViewModel = new ReadArticleViewModel();
     }
 }
Example #2
0
        public ActionResult Read(int?id)
        {
            var listCategory = GetCategory();
            var listArticle  = GetListArticle();

            if (id == null)
            {
                id = 1;
            }
            //call api
            var url = ApiEndPoint.GenerateGetArticleByIdUrl(id);

            try
            {
                using (HttpClient httpClient = new HttpClient())
                {
                    HttpResponseMessage runResult = httpClient.GetAsync(url).Result;
                    if (!runResult.IsSuccessStatusCode)
                    {
                        //request failed
                        TempData["AritcleDetailStatus"] = "Get article detais infor failed at index: " + id;
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        //request success
                        var jsonString     = runResult.Content.ReadAsStringAsync().Result;
                        var article        = JsonConvert.DeserializeObject <Article>(jsonString);
                        var relatedArticle = listArticle.Where(a => a.CategoryId == article.CategoryId).Take(6).ToList();
                        var viewModel      = new ReadArticleViewModel()
                        {
                            CurrentArticle  = article,
                            CurrentCategory = listCategory.Where(c => c.Id == article.CategoryId).FirstOrDefault(),
                            RelatedArticles = relatedArticle,
                            TopFiveLatest   = listArticle.Take(5).ToList()
                        };
                        return(View("Article", viewModel));
                    }
                }
            }
            catch (Exception err)
            {
                Debug.WriteLine(err.Message);
                TempData["AritcleDetailStatus"] = $"{err.Message} at index: {id}";
                return(RedirectToAction("Index"));
            }
        }
 public static void ClearReadArticle()
 {
     if (_readArticleViewModel != null)
         _readArticleViewModel.Cleanup();
     _readArticleViewModel = null;
 }