//API StlActionsSearchController调用 public static async Task <StlPageContents> GetAsync(string stlPageContentsElement, IParseManager parseManager, int pageNum, string where) { var stlPageContents = new StlPageContents { ParseManager = parseManager }; var stlElementInfo = StlParserUtility.ParseStlElement(stlPageContentsElement); parseManager.ContextInfo = parseManager.ContextInfo.Clone(stlPageContentsElement, stlElementInfo.InnerHtml, stlElementInfo.Attributes); stlPageContents.ListInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.Content); stlPageContents.ListInfo.Scope = ScopeType.All; if (pageNum > 0) { stlPageContents.ListInfo.PageNum = pageNum; } stlPageContents.ListInfo.Where = where; stlPageContents.DataSource = await GetContentsDataSourceAsync(parseManager, stlPageContents.ListInfo); //stlPageContents.SqlString = StlDataUtility.GetPageContentsSqlStringBySearch(tableName, stlPageContents.ListInfo.GroupContent, stlPageContents.ListInfo.GroupContentNot, stlPageContents.ListInfo.Tags, stlPageContents.ListInfo.IsImageExists, stlPageContents.ListInfo.IsImage, stlPageContents.ListInfo.IsVideoExists, stlPageContents.ListInfo.IsVideo, stlPageContents.ListInfo.IsFileExists, stlPageContents.ListInfo.IsFile, stlPageContents.ListInfo.StartNum, stlPageContents.ListInfo.TotalNum, stlPageContents.ListInfo.Order, stlPageContents.ListInfo.IsTopExists, stlPageContents.ListInfo.IsTop, stlPageContents.ListInfo.IsRecommendExists, stlPageContents.ListInfo.IsRecommend, stlPageContents.ListInfo.IsHotExists, stlPageContents.ListInfo.IsHot, stlPageContents.ListInfo.IsColorExists, stlPageContents.ListInfo.IsColor, where); return(stlPageContents); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.Content); var dataSource = await GetContentsDataSourceAsync(parseManager, listInfo); if (parseManager.ContextInfo.IsStlEntity) { return(ParseEntity(dataSource)); } var innerHtml = await ParseAsync(parseManager, listInfo, dataSource); var parsedContent = string.Empty; if (pageInfo.EditMode == EditMode.Visual) { var elementId = StringUtils.GetElementId(); var attributes = new NameValueCollection(); VisualUtility.AddEditableToAttributes(attributes, elementId, contextInfo.ElementName); parsedContent = @$ "<div {TranslateUtils.ToAttributesString(attributes)}>{innerHtml}</div>"; VisualUtility.AddEditableToPage(pageInfo, elementId, contextInfo, parsedContent); } else { parsedContent = innerHtml; } return(parsedContent); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.Content); var dataSource = await GetContentsDataSourceAsync(parseManager, listInfo); if (parseManager.ContextInfo.IsStlEntity) { return(ParseEntity(dataSource)); } var parsedContent = await ParseAsync(parseManager, listInfo, dataSource); if (pageInfo.EditMode == EditMode.Visual) { var editable = VisualUtility.GetEditable(pageInfo, contextInfo); var editableAttributes = VisualUtility.GetEditableAttributes(editable); return(@$ "<div {TranslateUtils.ToAttributesString(editableAttributes)}>{parsedContent}</div>"); } return(parsedContent); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.SqlContent); List <KeyValuePair <int, IDictionary <string, object> > > dataSource = null; if (!string.IsNullOrEmpty(listInfo.QueryString)) { dataSource = await parseManager.DatabaseManager.ParserGetSqlDataSourceAsync(listInfo.DatabaseType, listInfo.ConnectionString, listInfo.QueryString); } else if (listInfo.Query != null) { dataSource = await parseManager.DatabaseManager.ParserGetSqlDataSourceAsync(listInfo.DatabaseType, listInfo.ConnectionString, listInfo.Query); } if (dataSource == null) { return(string.Empty); } if (parseManager.ContextInfo.IsStlEntity) { return(ParseEntity(dataSource)); } return(await ParseElementAsync(parseManager, listInfo, dataSource)); }
//private readonly DataSet _dataSet; public static async Task <StlPageSqlContents> GetAsync(string stlPageSqlContentsElement, IParseManager parseManager) { var stlPageSqlContents = new StlPageSqlContents { StlPageSqlContentsElement = stlPageSqlContentsElement, ParseManager = parseManager }; try { var stlElementInfo = StlParserUtility.ParseStlElement(stlPageSqlContentsElement, -1); parseManager.ContextInfo = parseManager.ContextInfo.Clone(ElementName, stlPageSqlContentsElement, stlElementInfo.InnerHtml, stlElementInfo.Attributes, stlElementInfo.StartIndex); stlPageSqlContents.ListInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.SqlContent); var sqlString = stlPageSqlContents.ListInfo.QueryString; if (sqlString.IndexOf(" ORDER BY", StringComparison.OrdinalIgnoreCase) == -1 && !string.IsNullOrEmpty(stlPageSqlContents.ListInfo.Order)) { if (stlPageSqlContents.ListInfo.Order.IndexOf(" ORDER BY", StringComparison.OrdinalIgnoreCase) == -1) { sqlString += $" ORDER BY {stlPageSqlContents.ListInfo.Order}"; } else { sqlString += $" {stlPageSqlContents.ListInfo.Order}"; } } stlPageSqlContents.SqlString = sqlString; // stlPageSqlContents.SqlString = stlPageSqlContents.ListInfo.QueryString; // if (string.IsNullOrWhiteSpace(stlPageSqlContents.ListInfo.Order)) // { // var pos = stlPageSqlContents.SqlString.LastIndexOf(" ORDER BY ", StringComparison.OrdinalIgnoreCase); // if (pos > -1) // { // stlPageSqlContents.SqlString = stlPageSqlContents.SqlString.Substring(0, pos); // stlPageSqlContents.ListInfo.Order = stlPageSqlContents.SqlString.Substring(pos); // } // } // else // { // if (stlPageSqlContents.ListInfo.Order.IndexOf("ORDER BY", StringComparison.OrdinalIgnoreCase) == -1) // { // stlPageSqlContents.ListInfo.Order = $"ORDER BY {stlPageSqlContents.ListInfo.Order}"; // } // } //_dataSet = StlDataUtility.GetPageSqlContentsDataSet(_listInfo.ConnectionString, _listInfo.QueryString, _listInfo.StartNum, _listInfo.PageNum, _listInfo.OrderByString); } catch (Exception ex) { await parseManager.AddStlErrorLogAsync(ElementName, stlPageSqlContentsElement, ex); stlPageSqlContents.ListInfo = new ListInfo(); } return(stlPageSqlContents); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.Channel); var dataSource = await GetChannelsDataSourceAsync(parseManager, listInfo); if (parseManager.ContextInfo.IsStlEntity) { return(ParseEntity(dataSource)); } return(await ParseElementAsync(parseManager, listInfo, dataSource)); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.SqlContent); var dataSource = GetDataSource(parseManager, listInfo.DatabaseType, listInfo.ConnectionString, listInfo.QueryString); if (parseManager.ContextInfo.IsStlEntity) { return(ParseEntity(dataSource)); } return(await ParseElementAsync(parseManager, listInfo, dataSource)); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.SqlContent); //var dataSource = StlDataUtility.GetSqlContentsDataSource(listInfo.ConnectionString, listInfo.QueryString, listInfo.StartNum, listInfo.TotalNum, listInfo.Order); var dataSource = GetDataSource(parseManager, listInfo.ConnectionString, listInfo.QueryString, listInfo.StartNum, listInfo.TotalNum, listInfo.Order); if (parseManager.ContextInfo.IsStlEntity) { return(ParseEntity(dataSource)); } return(await ParseElementAsync(parseManager, listInfo, dataSource)); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.Site); var siteName = listInfo.Others.Get(SiteName); var siteDir = listInfo.Others.Get(SiteDir); var taxisType = GetTaxisTypeByOrder(listInfo.Order); var dataSource = await parseManager.DatabaseManager.SiteRepository.ParserGetSitesAsync(siteName, siteDir, listInfo.StartNum, listInfo.TotalNum, listInfo.Scope, taxisType); if (parseManager.ContextInfo.IsStlEntity) { return(ParseEntity(dataSource)); } return(await ParseElementAsync(parseManager, listInfo, dataSource)); }
public static async Task <StlPageContents> GetAsync(string stlPageContentsElement, IParseManager parseManager) { var stlPageContents = new StlPageContents { StlPageContentsElement = stlPageContentsElement, ParseManager = parseManager }; var stlElementInfo = StlParserUtility.ParseStlElement(stlPageContentsElement); stlPageContents.ParseManager.ContextInfo = parseManager.ContextInfo.Clone(stlPageContentsElement, stlElementInfo.InnerHtml, stlElementInfo.Attributes); stlPageContents.ListInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.Content); //stlPageContents.SqlString = await StlDataUtility.GetStlPageContentsSqlStringAsync(stlPageContents.PageInfo.Site, channelId, stlPageContents.ListInfo); stlPageContents.DataSource = await GetContentsDataSourceAsync(parseManager, stlPageContents.ListInfo); return(stlPageContents); }
public static async Task <StlPageChannels> GetAsync(string stlPageChannelsElement, IParseManager parseManager) { var stlPageChannels = new StlPageChannels { _parseManager = parseManager }; var stlElementInfo = StlParserUtility.ParseStlElement(stlPageChannelsElement); stlPageChannels._parseManager.ContextInfo = parseManager.ContextInfo.Clone(stlPageChannelsElement, stlElementInfo.InnerHtml, stlElementInfo.Attributes); stlPageChannels._listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.Channel); stlPageChannels._channelList = await GetChannelsDataSourceAsync(parseManager, stlPageChannels._listInfo); //stlPageChannels.DataSet = await StlDataUtility.GetPageChannelsDataSetAsync(pageInfo.SiteId, channelId, stlPageChannels._listInfo.GroupChannel, stlPageChannels._listInfo.GroupChannelNot, stlPageChannels._listInfo.IsImageExists, stlPageChannels._listInfo.IsImage, stlPageChannels._listInfo.StartNum, stlPageChannels._listInfo.TotalNum, stlPageChannels._listInfo.Order, stlPageChannels._listInfo.Scope, isTotal); return(stlPageChannels); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.Content); return(await ParseImplAsync(parseManager, listInfo)); }