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); } }
/// <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); }
/// <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)); }