public void GetListArticlesCount() { var controller = new ArticleController(); var result = controller.GetArticles(); Assert.AreEqual(25, result.Count()); }
protected void Page_Load(object sender, EventArgs e) { try { rptArticleList.DataSource = ArticleController.GetArticles(ModuleId, PageSize, PageNumber); rptArticleList.DataBind(); } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
//[DnnAuthorize(AllowAnonymous = true)] public HttpResponseMessage GetArticles(int moduleId) { try { //todo: get the latest X articles? var articles = ArticleController.GetArticles(moduleId); //because of the circular reference when cerealizing the taxonomy within content items we have to build out our article view models manually. var cleanArticles = new List <ArticleViewModel>(); foreach (Article a in articles) { var newArt = new ArticleViewModel { ArticleId = a.ArticleId, Body = WebUtility.HtmlDecode(a.Body), CreatedByUser = a.CreatedByUser, CreatedByUserId = a.CreatedByUserId, CreatedOnDate = a.CreatedOnDate, Description = WebUtility.HtmlDecode(a.Description), LastModifiedByUser = a.LastUpdatedByUser, LastModifiedByUserId = a.LastModifiedByUserId, LastModifiedOnDate = a.LastModifiedOnDate, ModuleId = a.ModuleId, Title = a.Title, url = DotNetNuke.Common.Globals.NavigateURL(a.TabID, "", "&aid=" + a.ArticleId) }; cleanArticles.Add(newArt); } var articleViewModels = new ArticleViewModels { Articles = cleanArticles }; return(Request.CreateResponse(HttpStatusCode.OK, articleViewModels, new MediaTypeHeaderValue("text/json"))); //to force JSON as the result //return Request.CreateResponse(HttpStatusCode.OK, articleViewModels, new MediaTypeHeaderValue("text/json")); } catch (Exception exc) { DnnLog.Error(exc); //todo: obsolete return(Request.CreateResponse(HttpStatusCode.BadRequest, "error in request")); //todo: probably should localize that? } }
protected void RptArticleListOnItemDataBound(object sender, RepeaterItemEventArgs e) { //configure the Tags var articleTags = e.Item.FindControl("tagsControl") as Tags; var lnkDelete = e.Item.FindControl("lnkDelete") as LinkButton; var lnkEdit = e.Item.FindControl("lnkEdit") as LinkButton; var pnlAdminControls = e.Item.FindControl("pnlAdminControls") as Panel; var pnlOtherControls = e.Item.FindControl("pnlOtherControls") as Panel; var curArticle = (Article)e.Item.DataItem; if (articleTags != null && ShowCategories) { articleTags.ShowCategories = true; articleTags.ShowTags = false; var mc = new ModuleController(); //look to see if the Content List module, for displaying tag results, is found var mi = mc.GetModuleByDefinition(PortalId, "Content List"); if (mi != null) { articleTags.NavigateUrlFormatString = Globals.NavigateURL(mi.TabID, String.Empty, "Tag={0}"); articleTags.ContentItem = Util.GetContentController().GetContentItem(curArticle.ContentItemId); } articleTags.DataBind(); if (pnlOtherControls != null) { pnlOtherControls.Visible = true; } } else { if (pnlOtherControls != null) { pnlOtherControls.Visible = false; } } if (articleTags != null && articleTags.ContentItem != null) { if (articleTags.ContentItem.Terms.Count < 1) { if (pnlOtherControls != null) { pnlOtherControls.Visible = false; } } } else { if (pnlOtherControls != null) { pnlOtherControls.Visible = false; } } if (IsEditable && lnkDelete != null && lnkEdit != null) { if (pnlAdminControls != null) { pnlAdminControls.Visible = true; } lnkDelete.Visible = lnkDelete.Enabled = lnkEdit.Visible = lnkEdit.Enabled = true; ClientAPI.AddButtonConfirm(lnkDelete, Localization.GetString("ConfirmDelete", LocalResourceFile)); lnkDelete.CommandArgument = curArticle.ArticleId.ToString(); lnkEdit.CommandArgument = curArticle.ArticleId.ToString(); } else { if (pnlAdminControls != null) { pnlAdminControls.Visible = false; } } //handle paging list if (curArticle.TotalRecords > PageSize) { BuildPageList(ArticleController.GetArticles(ModuleId, 1, 1)[0].TotalRecords); } }
protected void Page_Load(object sender, EventArgs e) { var ps = new PortalSettings(PortalId); Response.ContentType = "text/xml"; Response.ContentEncoding = Encoding.UTF8; var sw = new StringWriter(CultureInfo.InvariantCulture); var wr = new XmlTextWriter(sw); wr.WriteStartElement("rss"); wr.WriteAttributeString("version", "2.0"); wr.WriteAttributeString("xmlns:wfw", "http://wellformedweb.org/CommentAPI/"); wr.WriteAttributeString("xmlns:slash", "http://purl.org/rss/1.0/modules/slash/"); wr.WriteAttributeString("xmlns:dc", "http://purl.org/dc/elements/1.1/"); wr.WriteAttributeString("xmlns:trackback", "http://madskills.com/public/xml/rss/module/trackback/"); wr.WriteStartElement("channel"); wr.WriteElementString("title", ps.PortalName); //Get aliases var portalAliases = PortalAliasController.Instance.GetPortalAliasesByPortalId(PortalId);//.GetPortalAliasesByPortalId(portalId); var pa = (portalAliases != null && portalAliases.Count <PortalAliasInfo>() > 0 ? portalAliases.ElementAt <PortalAliasInfo>(0) : null); if (pa.HTTPAlias.IndexOf("//", StringComparison.OrdinalIgnoreCase) == -1) { wr.WriteElementString("link", "//" + pa.HTTPAlias); } else { wr.WriteElementString("link", pa.HTTPAlias); } wr.WriteElementString("description", "RSS Feed for " + ps.PortalName); wr.WriteElementString("ttl", "120"); var dt = new DataTable { Locale = CultureInfo.InvariantCulture }; //dt = ItemId == -1 ? DataProvider.Instance().GetMostRecent(ItemTypeId, NumberOfItems, PortalId) : DataProvider.Instance().GetMostRecentByCategoryId(ItemId, ItemTypeId, NumberOfItems, PortalId); var al = ArticleController.GetArticles(ModuleId); if (al != null) { foreach (var a in al) { wr.WriteStartElement("item"); DateTime startDate = DateTime.MinValue; wr.WriteElementString("title", a.Title); wr.WriteElementString("link", ArticleController.GetArticleLink(a.TabID, a.ArticleId)); wr.WriteElementString("description", Server.HtmlDecode(a.Description)); wr.WriteElementString("thumbnail", a.ThumbImg); wr.WriteElementString("dc:creator", a.CreatedByUser); wr.WriteElementString("pubDate", a.CreatedOnDate.ToUniversalTime().ToString("r", CultureInfo.InvariantCulture)); wr.WriteStartElement("guid"); wr.WriteAttributeString("isPermaLink", "true"); wr.WriteString(ArticleController.GetArticleLink(a.TabID, a.ArticleId)); wr.WriteEndElement(); wr.WriteEndElement(); } } wr.WriteEndElement(); wr.WriteEndElement(); Response.Write(sw.ToString()); }