public static IEnumerable GetDataSourceByStlElement(PublishmentSystemInfo publishmentSystemInfo, int templateId, string elementName, string stlElement) { var xmlDocument = StlParserUtility.GetXmlDocument(stlElement, false); XmlNode node = xmlDocument.DocumentElement; if (node != null) { node = node.FirstChild; var templateInfo = TemplateManager.GetTemplateInfo(publishmentSystemInfo.PublishmentSystemId, templateId); var pageInfo = new PageInfo(publishmentSystemInfo.PublishmentSystemId, 0, publishmentSystemInfo, templateInfo, null); var contextInfo = new ContextInfo(pageInfo); if (node?.Name != null) { if (elementName == StlChannels.ElementName) { var displayInfo = ContentsDisplayInfo.GetContentsDisplayInfoByXmlNode(node, pageInfo, contextInfo, EContextType.Channel); return(StlChannels.GetDataSource(pageInfo, contextInfo, displayInfo)); } else if (elementName == StlContents.ElementName) { var displayInfo = ContentsDisplayInfo.GetContentsDisplayInfoByXmlNode(node, pageInfo, contextInfo, EContextType.Content); return(StlContents.GetDataSource(pageInfo, contextInfo, displayInfo)); } } } return(null); }
public static DataSet GetDataSourceByStlElement(SiteInfo siteInfo, int templateId, string elementName, string stlElement) { var xmlDocument = StlParserUtility.GetXmlDocument(stlElement, false); XmlNode node = xmlDocument.DocumentElement; if (node == null) { return(null); } node = node.FirstChild; var templateInfo = TemplateManager.GetTemplateInfo(siteInfo.Id, templateId); var pageInfo = new PageInfo(siteInfo.Id, 0, siteInfo, templateInfo, new Dictionary <string, object>()); var contextInfo = new ContextInfo(pageInfo); if (node?.Name == null) { return(null); } if (elementName == StlChannels.ElementName) { var listInfo = ListInfo.GetListInfoByXmlNode(pageInfo, contextInfo, EContextType.Channel); return(StlChannels.GetDataSource(pageInfo, contextInfo, listInfo)); } if (elementName == StlContents.ElementName) { var listInfo = ListInfo.GetListInfoByXmlNode(pageInfo, contextInfo, EContextType.Content); return(StlContents.GetDataSource(pageInfo, contextInfo, listInfo)); } return(null); }