예제 #1
0
        public JsonArticle ArticleList()
        {
            JsonArticle             jsonArticle        = new JsonArticle();
            ArticleviewModel        articleLinkObj     = new ArticleviewModel();
            List <ArticleviewModel> artikleLinkListObj = new List <ArticleviewModel>();

            try
            {
                var ListArticle = _db.ToList();
                foreach (var item in ListArticle)
                {
                    articleLinkObj.Title       = item.Title;
                    articleLinkObj.Description = item.Description;
                    articleLinkObj.GalleryId   = item.GalleryId;
                    artikleLinkListObj.Add(articleLinkObj);
                }
                jsonArticle.Result = artikleLinkListObj;
                return(jsonArticle);
            }
            catch (Exception ex)
            {
                _ = ex.Message;
                return(jsonArticle);
            }
        }
예제 #2
0
        /// <summary>
        /// Converts Json model to Article model.
        /// </summary>
        /// <param name="article"></param>
        /// <returns></returns>
        public static ArticleModels JsonToArticleModel(JsonArticle article, bool isDetail)
        {
            string[] articlesList = article.body.Split('.');

            ArticleModels temp = new ArticleModels()
            {
                body            = (isDetail)? article.body : String.Format(articlesList[0] + "." + articlesList[1] + "..."), //Checks if the model is going to view or not for body text stripping.
                categories      = article.categories,
                id              = article.id,
                level           = LevelToCategory(article.level),
                url_action      = article.url_action,
                published_date  = Helpers.UnixToDateTime(article.published_date), //Converts Unix TimeStamp to DateTime
                title           = article.title,
                url_explanation = article.url_explanation
            };

            return(temp);
        }
예제 #3
0
        /// <summary>
        /// Details view for a specific article
        /// </summary>
        /// <param name="_id"></param>
        /// <returns></returns>
        public ActionResult Details(int?_id)
        {
            if (_id == null)
            {
                return(RedirectToAction("Index", "Home"));          //To avoid accidental calls from Details view.
            }
            JsonArticle JsonArticle = new JsonArticle();

            using (var webClient = new System.Net.WebClient())
            {
                //Specified encoding to avoid issues related to German language characters
                webClient.Encoding = Encoding.UTF8;

                var json = webClient.DownloadString(ENDPOINT);

                //Deserializes to a List of Json Articles and queries an article with matching ID.
                JsonArticle = JsonConvert.DeserializeObject <List <JsonArticle> >(json).Where(x => x.id == _id).FirstOrDefault();
            }

            ArticleModels temp = Helpers.JsonToArticleModel(JsonArticle, true);

            return(View(temp));
        }