public ActionResult Index(HomeContentPublishedListModel listModel) { var keywords = ""; if (!String.IsNullOrEmpty(listModel.Keywords)) { keywords = listModel.Keywords.Trim(); } var models = (from c in db.contents join u in db.users on c.CreatedBy equals u.CreatedBy where c.IsPublished && (c.Title.Contains(keywords) || c.page.PageName.Contains(keywords) || c.Subtitle.Contains(keywords)) orderby c.CreatedDate descending select new ContentPublishedEntryViewModel { Page = c.page.PageName, Title = c.Title, Url = c.ContentUrl, Subtitle = c.Subtitle, ImageUrl = c.ImageUrl, CreatedBy = u.Email, CreatedDate = c.CreatedDate }); listModel.Entries = models.ToPagedList( listModel.Page > 0 ? listModel.Page : 1, listModel.PageSize > 0 ? listModel.PageSize : 10); return(View(listModel)); }
public ActionResult Page(string permalink) { var urlSplit = permalink.Split('/'); if (urlSplit.Length > 1) { var model = (from c in db.contents join u in db.users on c.CreatedBy equals u.CreatedBy where c.ContentUrl == permalink orderby c.CreatedDate descending select new ContentPublishedEntryViewModel { Page = c.page.PageName, Title = c.Title, Url = c.ContentUrl, Subtitle = c.Subtitle, ImageUrl = c.ImageUrl, Content = c.Content1, CreatedBy = u.Email, CreatedDate = c.CreatedDate }).FirstOrDefault(); #region HTTP var key = ConfigurationManager.AppSettings["VisionKey"]; ViewBag.Key = key; //var url = ConfigurationManager.AppSettings["VisionEndPoint"]; //var json_serializer = new JavaScriptSerializer(); //var encoder = new ASCIIEncoding(); //var jsonData = json_serializer.Serialize(new { url = model.ImageUrl }); //byte[] data = encoder.GetBytes(jsonData); //var jsonParams = json_serializer.Serialize(new { // visualFeatures = "Categories,Description,Color", // details = "", // language = "en" }); //var request = WebRequest.Create(url + "?" + jsonParams) as HttpWebRequest; //request.Method = "POST"; //request.ContentType = "application/json"; //request.ContentLength = data.Length; //request.GetRequestStream().Write(data, 0, data.Length); //request.Headers.Add("Ocp-Apim-Subscription-Key", key); //HttpWebResponse response = request.GetResponse() as HttpWebResponse; //var responseText = new StreamReader(response.GetResponseStream()).ReadToEnd(); #endregion ViewBag.Title = model.Title; return(View("Content", model)); } else { var page = db.pages.Where(x => x.PageUrl == permalink).FirstOrDefault(); if (page == null) { return(View("NotFound")); } ViewBag.Title = page.PageName; var listModel = new HomeContentPublishedListModel(); var models = (from c in db.contents join u in db.users on c.CreatedBy equals u.CreatedBy where c.IsPublished && c.page.PageUrl == permalink orderby c.CreatedDate descending select new ContentPublishedEntryViewModel { Page = c.page.PageName, Title = c.Title, Url = c.ContentUrl, Subtitle = c.Subtitle, ImageUrl = c.ImageUrl, CreatedBy = u.Email, CreatedDate = c.CreatedDate }); listModel.Entries = models.ToPagedList( listModel.Page > 0 ? listModel.Page : 1, listModel.PageSize > 0 ? listModel.PageSize : 10); return(View("Index", listModel)); } }