public static async Task <object> ParseAsync(IParseManager parseManager) { var attributes = new Dictionary <string, string>(); var channelIndex = string.Empty; var channelName = string.Empty; var upLevel = 0; var topLevel = -1; const bool removeTarget = false; var href = string.Empty; var queryString = string.Empty; var host = string.Empty; foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, ChannelIndex)) { channelIndex = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (!string.IsNullOrEmpty(channelIndex)) { parseManager.ContextInfo.ContextType = ParseType.Channel; } } else if (StringUtils.EqualsIgnoreCase(name, ChannelName)) { channelName = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (!string.IsNullOrEmpty(channelName)) { parseManager.ContextInfo.ContextType = ParseType.Channel; } } else if (StringUtils.EqualsIgnoreCase(name, Parent)) { if (TranslateUtils.ToBool(value)) { upLevel = 1; parseManager.ContextInfo.ContextType = ParseType.Channel; } } else if (StringUtils.EqualsIgnoreCase(name, UpLevel)) { upLevel = TranslateUtils.ToInt(value); if (upLevel > 0) { parseManager.ContextInfo.ContextType = ParseType.Channel; } } else if (StringUtils.EqualsIgnoreCase(name, TopLevel)) { topLevel = TranslateUtils.ToInt(value); if (topLevel >= 0) { parseManager.ContextInfo.ContextType = ParseType.Channel; } } else if (StringUtils.EqualsIgnoreCase(name, Context)) { parseManager.ContextInfo.ContextType = TranslateUtils.ToEnum(value, ParseType.Undefined); } else if (StringUtils.EqualsIgnoreCase(name, Href)) { href = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, QueryString)) { queryString = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Host)) { host = value; } else { attributes[name] = value; } } var parsedContent = await ParseImplAsync(parseManager, channelIndex, channelName, upLevel, topLevel, removeTarget, href, queryString, host, attributes); return(parsedContent); }
public static async Task <ListInfo> GetListInfoAsync(IParseManager parseManager, ParseType contextType) { var contextInfo = parseManager.ContextInfo; var listInfo = new ListInfo { _contextType = contextType, DatabaseType = parseManager.SettingsManager.DatabaseType, ConnectionString = parseManager.SettingsManager.DatabaseConnectionString }; var innerHtml = contextInfo.InnerHtml; var itemTemplate = string.Empty; if (!string.IsNullOrEmpty(innerHtml)) { var stlElementList = StlParserUtility.GetStlElementList(innerHtml); if (stlElementList.Count > 0) { foreach (var theStlElement in stlElementList) { if (StlParserUtility.IsSpecifiedStlElement(theStlElement, StlItemTemplate.ElementName)) { var attributes = TranslateUtils.NewIgnoreCaseNameValueCollection(); var templateString = StlParserUtility.GetInnerHtml(theStlElement, attributes); if (!string.IsNullOrEmpty(templateString)) { foreach (var key in attributes.AllKeys) { if (!StringUtils.EqualsIgnoreCase(key, StlItemTemplate.Type)) { continue; } var type = attributes[key]; if (StringUtils.EqualsIgnoreCase(type, StlItemTemplate.TypeItem)) { itemTemplate = templateString; } else if (StringUtils.EqualsIgnoreCase(type, StlItemTemplate.TypeHeader)) { listInfo.HeaderTemplate = templateString; } else if (StringUtils.EqualsIgnoreCase(type, StlItemTemplate.TypeFooter)) { listInfo.FooterTemplate = templateString; } else if (StringUtils.EqualsIgnoreCase(type, StlItemTemplate.TypeAlternatingItem)) { listInfo.AlternatingItemTemplate = templateString; } else if (StringUtils.EqualsIgnoreCase(type, StlItemTemplate.TypeSelectedItem)) { if (!string.IsNullOrEmpty(attributes[StlItemTemplate.Selected])) { var selected = attributes[StlItemTemplate.Selected]; var list = new List <string>(); if (selected.IndexOf(',') != -1) { list.AddRange(selected.Split(',')); } else { if (selected.IndexOf('-') != -1) { var first = TranslateUtils.ToInt(selected.Split('-')[0]); var second = TranslateUtils.ToInt(selected.Split('-')[1]); for (var i = first; i <= second; i++) { list.Add(i.ToString()); } } else { list.Add(selected); } } foreach (string val in list) { listInfo.SelectedItems.Set(val, templateString); } if (!string.IsNullOrEmpty(attributes[StlItemTemplate.SelectedValue])) { var selectedValue = attributes[StlItemTemplate.SelectedValue]; listInfo.SelectedValues.Set(selectedValue, templateString); } } } else if (StringUtils.EqualsIgnoreCase(type, StlItemTemplate.TypeSeparator)) { var selectedValue = TranslateUtils.ToInt(attributes[StlItemTemplate.SelectedValue], 1); if (selectedValue <= 1) { listInfo.SeparatorTemplate = templateString; } else { listInfo.SeparatorRepeatTemplate = templateString; listInfo.SeparatorRepeat = selectedValue; } } } } innerHtml = innerHtml.Replace(theStlElement, string.Empty); } else if (StlParserUtility.IsSpecifiedStlElement(theStlElement, StlLoading.ElementName)) { var innerBuilder = new StringBuilder(StlParserUtility.GetInnerHtml(theStlElement)); await parseManager.ParseInnerContentAsync(innerBuilder); listInfo.LoadingTemplate = innerBuilder.ToString(); innerHtml = innerHtml.Replace(theStlElement, string.Empty); } else if (contextType == ParseType.SqlContent && StlParserUtility.IsSpecifiedStlElement(theStlElement, StlQueryString.ElementName)) { var innerBuilder = new StringBuilder(StlParserUtility.GetInnerHtml(theStlElement)); await parseManager.ParseInnerContentAsync(innerBuilder); listInfo.QueryString = innerBuilder.ToString(); innerHtml = innerHtml.Replace(theStlElement, string.Empty); } } } } if (string.IsNullOrEmpty(itemTemplate)) { listInfo.ItemTemplate = !string.IsNullOrEmpty(innerHtml) ? innerHtml : "<stl:a target=\"_blank\"></stl:a>"; } else { listInfo.ItemTemplate = itemTemplate; } var isSetDirection = false;//是否设置了direction属性 foreach (var name in contextInfo.Attributes.AllKeys) { var value = contextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, StlListBase.ChannelIndex) || StringUtils.EqualsIgnoreCase(name, StlListBase.Index)) { listInfo.ChannelIndex = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.ChannelName)) { listInfo.ChannelName = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.Parent)) { listInfo.UpLevel = 1; } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.UpLevel)) { listInfo.UpLevel = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.TopLevel)) { listInfo.TopLevel = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.Scope)) { listInfo.Scope = TranslateUtils.ToEnum(value, ScopeType.Self); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.IsTop)) { listInfo.IsTop = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.IsRecommend)) { listInfo.IsRecommend = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.IsHot)) { listInfo.IsHot = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.IsColor)) { listInfo.IsColor = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.TotalNum)) { listInfo.TotalNum = TranslateUtils.ToInt(await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value)); } else if (StringUtils.EqualsIgnoreCase(name, StlPageContents.PageNum)) { listInfo.PageNum = TranslateUtils.ToInt(await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value), Constants.PageSize); } else if (StringUtils.EqualsIgnoreCase(name, StlPageContents.MaxPage)) { listInfo.MaxPage = TranslateUtils.ToInt(await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value)); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.StartNum)) { listInfo.StartNum = TranslateUtils.ToInt(await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value)); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.Order)) { listInfo.Order = value; } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.Where)) { listInfo.Where = value; } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.Group)) { if (contextType == ParseType.Channel) { listInfo.GroupChannel = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (string.IsNullOrEmpty(listInfo.GroupChannel)) { listInfo.GroupChannel = "__Empty__"; } } else if (contextType == ParseType.Content) { listInfo.GroupContent = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (string.IsNullOrEmpty(listInfo.GroupContent)) { listInfo.GroupContent = "__Empty__"; } } } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.GroupNot)) { if (contextType == ParseType.Channel) { listInfo.GroupChannelNot = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (string.IsNullOrEmpty(listInfo.GroupChannelNot)) { listInfo.GroupChannelNot = "__Empty__"; } } else if (contextType == ParseType.Content) { listInfo.GroupContentNot = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (string.IsNullOrEmpty(listInfo.GroupContentNot)) { listInfo.GroupContentNot = "__Empty__"; } } } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.GroupChannel)) { listInfo.GroupChannel = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (string.IsNullOrEmpty(listInfo.GroupChannel)) { listInfo.GroupChannel = "__Empty__"; } } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.GroupChannelNot)) { listInfo.GroupChannelNot = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (string.IsNullOrEmpty(listInfo.GroupChannelNot)) { listInfo.GroupChannelNot = "__Empty__"; } } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.GroupContent)) { listInfo.GroupContent = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (string.IsNullOrEmpty(listInfo.GroupContent)) { listInfo.GroupContent = "__Empty__"; } } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.GroupContentNot)) { listInfo.GroupContentNot = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (string.IsNullOrEmpty(listInfo.GroupContentNot)) { listInfo.GroupContentNot = "__Empty__"; } } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.Tags)) { listInfo.Tags = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.Columns)) { listInfo.Columns = TranslateUtils.ToInt(value); listInfo.Layout = Layout.Table; if (listInfo.Columns > 1 && isSetDirection == false) { listInfo.Direction = "horizontal"; } } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.Direction)) { listInfo.Layout = Layout.Table; listInfo.Direction = value; isSetDirection = true; } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.Align)) { listInfo.Align = value; } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.ItemAlign)) { listInfo.ItemAlign = value; } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.ItemVerticalAlign)) { listInfo.ItemVerticalAlign = value; } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.ItemClass)) { listInfo.ItemClass = value; } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.IsImage)) { listInfo.IsImage = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.IsVideo)) { listInfo.IsVideo = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.IsFile)) { listInfo.IsFile = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, StlContents.IsRelatedContents)) { listInfo.IsRelatedContents = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, StlListBase.Layout)) { listInfo.Layout = TranslateUtils.ToEnum(value, Layout.None); } else if (contextType == ParseType.SqlContent && StringUtils.EqualsIgnoreCase(name, StlSqlContents.DatabaseTypeName)) { var databaseType = parseManager.SettingsManager.Configuration[name]; if (!string.IsNullOrEmpty(databaseType)) { listInfo.DatabaseType = TranslateUtils.ToEnum(databaseType, DatabaseType.MySql); } } else if (contextType == ParseType.SqlContent && StringUtils.EqualsIgnoreCase(name, StlSqlContents.DatabaseType)) { listInfo.DatabaseType = TranslateUtils.ToEnum(value, DatabaseType.MySql); } else if (contextType == ParseType.SqlContent && StringUtils.EqualsIgnoreCase(name, StlSqlContents.ConnectionStringName)) { var connectionString = parseManager.SettingsManager.Configuration[name]; if (!string.IsNullOrEmpty(connectionString)) { listInfo.ConnectionString = connectionString; } } else if (contextType == ParseType.SqlContent && StringUtils.EqualsIgnoreCase(name, StlSqlContents.ConnectionString)) { listInfo.ConnectionString = value; } else if (contextType == ParseType.SqlContent && StringUtils.EqualsIgnoreCase(name, StlSqlContents.QueryString)) { listInfo.QueryString = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else { listInfo.Others.Set(name, value); } } return(listInfo); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var isGetPicUrlFromAttribute = false; var channelIndex = string.Empty; var channelName = string.Empty; var upLevel = 0; var topLevel = -1; var type = nameof(Content.ImageUrl); var no = 0; var isClearTags = false; var isOriginal = false; var src = string.Empty; var altSrc = string.Empty; var attributes = new NameValueCollection(); foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, ChannelIndex)) { channelIndex = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (!string.IsNullOrEmpty(channelIndex)) { isGetPicUrlFromAttribute = true; } } else if (StringUtils.EqualsIgnoreCase(name, ChannelName)) { channelName = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (!string.IsNullOrEmpty(channelName)) { isGetPicUrlFromAttribute = true; } } else if (StringUtils.EqualsIgnoreCase(name, Parent)) { if (TranslateUtils.ToBool(value)) { upLevel = 1; isGetPicUrlFromAttribute = true; } } else if (StringUtils.EqualsIgnoreCase(name, UpLevel)) { upLevel = TranslateUtils.ToInt(value); if (upLevel > 0) { isGetPicUrlFromAttribute = true; } } else if (StringUtils.EqualsIgnoreCase(name, TopLevel)) { topLevel = TranslateUtils.ToInt(value); if (topLevel >= 0) { isGetPicUrlFromAttribute = true; } } else if (StringUtils.EqualsIgnoreCase(name, Context)) { parseManager.ContextInfo.ContextType = TranslateUtils.ToEnum(value, ParseType.Undefined); } else if (StringUtils.EqualsIgnoreCase(name, Type)) { type = value; } else if (StringUtils.EqualsIgnoreCase(name, No)) { no = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, IsClearTags)) { isClearTags = TranslateUtils.ToBool(value, true); } else if (StringUtils.EqualsIgnoreCase(name, IsOriginal)) { isOriginal = TranslateUtils.ToBool(value, true); } else if (StringUtils.EqualsIgnoreCase(name, Src)) { src = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, AltSrc)) { altSrc = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else { attributes[name] = value; } } return(await ParseImplAsync(parseManager, attributes, isGetPicUrlFromAttribute, channelIndex, channelName, upLevel, topLevel, type, no, isOriginal, isClearTags, src, altSrc)); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; var isAllSites = false; var siteName = string.Empty; var siteDir = string.Empty; var siteIds = string.Empty; var channelIndex = string.Empty; var channelName = string.Empty; var channelIds = string.Empty; var type = nameof(Content.Title); var word = string.Empty; var dateAttribute = nameof(Content.AddDate); var dateFrom = string.Empty; var dateTo = string.Empty; var since = string.Empty; var pageNum = 0; var isHighlight = false; foreach (var name in contextInfo.Attributes.AllKeys) { var value = contextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, IsAllSites)) { isAllSites = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, SiteName)) { siteName = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, SiteDir)) { siteDir = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, SiteIds)) { siteIds = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, ChannelIndex) || StringUtils.EqualsIgnoreCase(name, Index)) { channelIndex = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, ChannelName)) { channelName = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, ChannelIds)) { channelIds = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Type)) { type = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Word)) { word = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, DateAttribute)) { dateAttribute = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, DateFrom)) { dateFrom = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, DateTo)) { dateTo = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Since)) { since = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, PageNum)) { pageNum = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, IsHighlight)) { isHighlight = TranslateUtils.ToBool(value); } } StlParserUtility.GetLoadingYesNo(contextInfo.InnerHtml, out var loading, out var yes, out var no); if (string.IsNullOrEmpty(loading)) { var filePath = parseManager.PathManager.GetSiteFilesPath(Resources.Search.LoadingTemplatePath); loading = parseManager.PathManager.GetContentByFilePath(filePath); } if (string.IsNullOrEmpty(yes)) { var filePath = parseManager.PathManager.GetSiteFilesPath(Resources.Search.YesTemplatePath); yes = parseManager.PathManager.GetContentByFilePath(filePath); } if (string.IsNullOrEmpty(no)) { var filePath = parseManager.PathManager.GetSiteFilesPath(Resources.Search.NoTemplatePath); no = parseManager.PathManager.GetContentByFilePath(filePath); } await pageInfo.AddPageHeadCodeIfNotExistsAsync(ParsePage.Const.StlClient); await pageInfo.AddPageHeadCodeIfNotExistsAsync(ParsePage.Const.Jquery); var elementId = StringUtils.GetElementId(); var apiUrl = GetSearchApiUrl(pageInfo.Site, parseManager.PathManager); var apiParameters = GetSearchApiParameters(parseManager.SettingsManager, isAllSites, siteName, siteDir, siteIds, channelIndex, channelName, channelIds, type, word, dateAttribute, dateFrom, dateTo, since, pageNum, isHighlight, pageInfo.SiteId, elementId, yes); var builder = new StringBuilder(); builder.Append($@" <div id=""{elementId}""> <div class=""stl_loading"">{loading}</div> <div class=""stl_yes"" style=""display:none""></div> <div class=""stl_no"" style=""display:none"">{no}</div> </div> "); builder.Append($@" <script type=""text/javascript"" language=""javascript""> jQuery(document).ready(function(){{ var url = '{apiUrl}'; var parameters = {apiParameters}; var queryString = document.location.search; if (queryString && queryString.length > 1) {{ queryString = queryString.substring(1); var arr = queryString.split('&'); for(var i=0; i < arr.length; i++) {{ var item = arr[i]; var arr2 = item.split('='); if (arr2 && arr2.length == 2) {{ var key = (arr2[0] || '').toLowerCase(); if (key) {{ var value = decodeURIComponent(arr2[1]) || ''; value = value.replace(/\+/g, ' '); parameters[key] = value; }} }} }} if (!parameters['page']) {{ parameters['page'] = 1; }} jQuery.support.cors = true; jQuery.ajax({{ url: url, type: 'POST', contentType: 'application/json', data: JSON.stringify(parameters), dataType: 'json', success: function(res) {{ jQuery(""#{elementId} .stl_loading"").hide(); jQuery(""#{elementId} .stl_yes"").show(); jQuery(""#{elementId} .stl_no"").hide(); jQuery(""#{elementId} .stl_yes"").html(res.value); }}, error: function(e) {{ jQuery(""#{elementId} .stl_loading"").hide(); jQuery(""#{elementId} .stl_yes"").hide(); jQuery(""#{elementId} .stl_no"").show(); }} }}); }} else {{ jQuery(""#{elementId} .stl_loading"").hide(); jQuery(""#{elementId} .stl_yes"").hide(); jQuery(""#{elementId} .stl_no"").hide(); }} }}); function stlRedirect{elementId}(page) {{ var queryString = document.location.search; if (queryString && queryString.length > 1) {{ queryString = queryString.substring(1); var parameters = ''; var arr = queryString.split('&'); for(var i=0; i < arr.length; i++) {{ var item = arr[i]; var arr2 = item.split('='); if (arr2 && arr2.length == 2) {{ if (arr2[0] !== 'page') {{ parameters += item + '&'; }} }} }} parameters += 'page=' + page; location.href = location.protocol + '//' + location.host + location.pathname + location.hash + '?' + parameters; }} }} </script> "); return(builder.ToString()); }
private const string OperateNotIn = "NotIn"; //值不属于 internal static async Task <object> ParseAsync(IParseManager parseManager) { var testTypeStr = string.Empty; var testOperate = string.Empty; var testValue = string.Empty; var yes = string.Empty; var no = string.Empty; var onBeforeSend = string.Empty; var onSuccess = string.Empty; var onComplete = string.Empty; var onError = string.Empty; foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, Type) || StringUtils.EqualsIgnoreCase(name, "testType")) { testTypeStr = value; } else if (StringUtils.EqualsIgnoreCase(name, Op) || StringUtils.EqualsIgnoreCase(name, "operate") || StringUtils.EqualsIgnoreCase(name, "testOperate")) { testOperate = value; } else if (StringUtils.EqualsIgnoreCase(name, Value) || StringUtils.EqualsIgnoreCase(name, "testValue")) { testValue = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (string.IsNullOrEmpty(testOperate)) { testOperate = OperateEquals; } } else if (StringUtils.EqualsIgnoreCase(name, Yes)) { yes = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, No)) { no = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Context)) { parseManager.ContextInfo.ContextType = TranslateUtils.ToEnum(value, ParseType.Undefined); } else if (StringUtils.EqualsIgnoreCase(name, OnBeforeSend)) { onBeforeSend = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, OnSuccess)) { onSuccess = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, OnComplete)) { onComplete = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, OnError)) { onError = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } } if (string.IsNullOrEmpty(testOperate)) { testOperate = OperateNotEmpty; } return(await ParseImplAsync(parseManager, testTypeStr, testOperate, testValue, yes, no, onBeforeSend, onSuccess, onComplete, onError)); }
private static async Task <QueryInfo> ParseAsync(IParseManager parseManager, string stlElement) { var(innerHtml, attributes) = ParseUtils.GetInnerHtmlAndAttributes(stlElement); var query = new QueryInfo { Type = nameof(Query.Where), Column = string.Empty, Op = string.Empty, Value = string.Empty, DataType = Datory.DataType.VarChar }; foreach (var name in attributes.AllKeys) { var attributeValue = attributes[name]; if (StringUtils.EqualsIgnoreCase(name, Type)) { query.Type = attributeValue; } else if (StringUtils.EqualsIgnoreCase(name, Column)) { query.Column = attributeValue; } else if (StringUtils.EqualsIgnoreCase(name, Op)) { query.Op = attributeValue; } else if (StringUtils.EqualsIgnoreCase(name, Value)) { query.Value = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(attributeValue); } else if (StringUtils.EqualsIgnoreCase(name, DataType)) { if (StringUtils.EqualsIgnoreCase(attributeValue, "int")) { query.DataType = Datory.DataType.Integer; } else if (StringUtils.EqualsIgnoreCase(attributeValue, "string")) { query.DataType = Datory.DataType.VarChar; } else if (StringUtils.EqualsIgnoreCase(attributeValue, "bool")) { query.DataType = Datory.DataType.Boolean; } else { query.DataType = TranslateUtils.ToEnum(attributeValue, Datory.DataType.VarChar); } } } if (!string.IsNullOrEmpty(innerHtml)) { var stlElementList = ParseUtils.GetStlElements(innerHtml); if (stlElementList.Count > 0) { foreach (var theStlElement in stlElementList) { if (ParseUtils.IsSpecifiedStlElement(theStlElement, ElementName)) { if (query.Queries == null) { query.Queries = new List <QueryInfo>(); } query.Queries.Add(await ParseAsync(parseManager, theStlElement)); } } } } return(query); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var leftText = string.Empty; var rightText = string.Empty; var channelIndex = string.Empty; var channelName = string.Empty; var upLevel = 0; var topLevel = -1; var type = string.Empty; var formatString = string.Empty; var no = "0"; string separator = null; var startIndex = 0; var length = 0; var wordNum = 0; var ellipsis = Constants.Ellipsis; var replace = string.Empty; var to = string.Empty; var isClearTags = false; var isReturnToBr = false; var isLower = false; var isUpper = false; var attributes = new NameValueCollection(); foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, ChannelIndex)) { channelIndex = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, ChannelName)) { channelName = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Parent)) { if (TranslateUtils.ToBool(value)) { upLevel = 1; } } else if (StringUtils.EqualsIgnoreCase(name, UpLevel)) { upLevel = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, TopLevel)) { topLevel = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, Type)) { type = value; } else if (StringUtils.EqualsIgnoreCase(name, LeftText)) { leftText = value; } else if (StringUtils.EqualsIgnoreCase(name, RightText)) { rightText = value; } else if (StringUtils.EqualsIgnoreCase(name, FormatString)) { formatString = value; } else if (StringUtils.EqualsIgnoreCase(name, No)) { no = value; } else if (StringUtils.EqualsIgnoreCase(name, Separator)) { separator = value; } else if (StringUtils.EqualsIgnoreCase(name, StartIndex)) { startIndex = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, Length)) { length = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, WordNum)) { wordNum = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, Ellipsis)) { ellipsis = value; } else if (StringUtils.EqualsIgnoreCase(name, Replace)) { replace = value; } else if (StringUtils.EqualsIgnoreCase(name, To)) { to = value; } else if (StringUtils.EqualsIgnoreCase(name, IsClearTags)) { isClearTags = TranslateUtils.ToBool(value, false); } else if (StringUtils.EqualsIgnoreCase(name, IsReturnToBr)) { isReturnToBr = TranslateUtils.ToBool(value, false); } else if (StringUtils.EqualsIgnoreCase(name, IsLower)) { isLower = TranslateUtils.ToBool(value, true); } else if (StringUtils.EqualsIgnoreCase(name, IsUpper)) { isUpper = TranslateUtils.ToBool(value, true); } else { attributes[name] = value; } } var dataManager = new StlDataManager(parseManager.DatabaseManager); //var channelId = await dataManager.GetChannelIdByLevelAsync(parseManager.PageInfo.SiteId, parseManager.ContextInfo.ChannelId, upLevel, topLevel); var channelId = await parseManager.DatabaseManager.ChannelRepository.GetChannelIdAsync(parseManager.PageInfo.SiteId, parseManager.ContextInfo.ChannelId, channelIndex, channelName); if (StringUtils.StartsWithIgnoreCase(type, "up") && type.IndexOf(".", StringComparison.Ordinal) != -1) { if (StringUtils.StartsWithIgnoreCase(type, "up.")) { upLevel = 1; } else { var upLevelStr = type.Substring(2, type.IndexOf(".", StringComparison.Ordinal) - 2); upLevel = TranslateUtils.ToInt(upLevelStr); } topLevel = -1; type = type.Substring(type.IndexOf(".", StringComparison.Ordinal) + 1); } else if (StringUtils.StartsWithIgnoreCase(type, "top") && type.IndexOf(".", StringComparison.Ordinal) != -1) { if (StringUtils.StartsWithIgnoreCase(type, "top.")) { topLevel = 1; } else { var topLevelStr = type.Substring(3, type.IndexOf(".", StringComparison.Ordinal) - 3); topLevel = TranslateUtils.ToInt(topLevelStr); } upLevel = 0; type = type.Substring(type.IndexOf(".", StringComparison.Ordinal) + 1); } var channel = await parseManager.DatabaseManager.ChannelRepository.GetAsync(await dataManager.GetChannelIdByLevelAsync(parseManager.PageInfo.SiteId, channelId, upLevel, topLevel)); if (parseManager.ContextInfo.IsStlEntity && string.IsNullOrEmpty(type)) { return(channel.ToDictionary()); } var parsedContent = await ParseImplAsync(parseManager, leftText, rightText, type, formatString, no, separator, startIndex, length, wordNum, ellipsis, replace, to, isClearTags, isReturnToBr, isLower, isUpper, channel, channelId, attributes); var innerBuilder = new StringBuilder(parsedContent); await parseManager.ParseInnerContentAsync(innerBuilder); parsedContent = innerBuilder.ToString(); if (!StringUtils.EqualsIgnoreCase(type, StlParserUtility.PageContent)) { parsedContent = parsedContent.Replace(Constants.PagePlaceHolder, string.Empty); } return(parsedContent); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var connectionString = string.Empty; var queryString = string.Empty; var leftText = string.Empty; var rightText = string.Empty; var formatString = string.Empty; var startIndex = 0; var length = 0; var wordNum = 0; var ellipsis = Constants.Ellipsis; var replace = string.Empty; var to = string.Empty; var isClearTags = false; var isReturnToBr = false; var isLower = false; var isUpper = false; var type = string.Empty; foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, ConnectionString)) { connectionString = value; } else if (StringUtils.EqualsIgnoreCase(name, ConnectionStringName)) { if (string.IsNullOrEmpty(connectionString)) { connectionString = parseManager.SettingsManager.Database.ConnectionString; } } else if (StringUtils.EqualsIgnoreCase(name, QueryString)) { queryString = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Type)) { type = StringUtils.ToLower(value); } else if (StringUtils.EqualsIgnoreCase(name, LeftText)) { leftText = value; } else if (StringUtils.EqualsIgnoreCase(name, RightText)) { rightText = value; } else if (StringUtils.EqualsIgnoreCase(name, FormatString)) { formatString = value; } else if (StringUtils.EqualsIgnoreCase(name, StartIndex)) { startIndex = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, Length)) { length = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, WordNum)) { wordNum = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, Ellipsis)) { ellipsis = value; } else if (StringUtils.EqualsIgnoreCase(name, Replace)) { replace = value; } else if (StringUtils.EqualsIgnoreCase(name, To)) { to = value; } else if (StringUtils.EqualsIgnoreCase(name, IsClearTags)) { isClearTags = TranslateUtils.ToBool(value, false); } else if (StringUtils.EqualsIgnoreCase(name, IsReturnToBr)) { isReturnToBr = TranslateUtils.ToBool(value, false); } else if (StringUtils.EqualsIgnoreCase(name, IsLower)) { isLower = TranslateUtils.ToBool(value, true); } else if (StringUtils.EqualsIgnoreCase(name, IsUpper)) { isUpper = TranslateUtils.ToBool(value, true); } } if (parseManager.ContextInfo.IsStlEntity && string.IsNullOrEmpty(type)) { object dataItem = null; if (parseManager.ContextInfo.ItemContainer?.SqlItem != null) { dataItem = parseManager.ContextInfo.ItemContainer?.SqlItem.Value; } else if (!string.IsNullOrEmpty(queryString)) { var rows = parseManager.DatabaseManager.GetRows(connectionString, queryString); if (rows != null && rows.Any()) { dataItem = rows.First(); } } return(dataItem); } return(ParseImpl(parseManager, connectionString, queryString, leftText, rightText, formatString, startIndex, length, wordNum, ellipsis, replace, to, isClearTags, isReturnToBr, isLower, isUpper, type)); }
//对“flash滚动焦点图”(stl:focusViewer)元素进行解析 public static async Task <object> ParseAsync(IParseManager parseManager) { // 如果是实体标签则返回空 if (parseManager.ContextInfo.IsStlEntity) { return(string.Empty); } var channelIndex = string.Empty; var channelName = string.Empty; var scopeType = ScopeType.Self; var groupChannel = string.Empty; var groupChannelNot = string.Empty; var groupContent = string.Empty; var groupContentNot = string.Empty; var tags = string.Empty; var orderByString = parseManager.DatabaseManager.GetContentOrderByString(TaxisType.OrderByTaxisDesc); var startNum = 1; var totalNum = 0; var isShowText = true; var isTopText = string.Empty; var titleWordNum = 0; var isTop = false; var isTopExists = false; var isRecommend = false; var isRecommendExists = false; var isHot = false; var isHotExists = false; var isColor = false; var isColorExists = false; var theme = string.Empty; var imageWidth = 260; var imageHeight = 182; var textHeight = 25; var bgColor = string.Empty; var attributes = new NameValueCollection(); foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, AttributeChannelIndex) || StringUtils.EqualsIgnoreCase(name, AttributeIndex)) { channelIndex = value; } else if (StringUtils.EqualsIgnoreCase(name, AttributeChannelName)) { channelName = value; } else if (StringUtils.EqualsIgnoreCase(name, AttributeScope)) { scopeType = TranslateUtils.ToEnum(value, ScopeType.Self); } else if (StringUtils.EqualsIgnoreCase(name, AttributeGroupChannel)) { groupChannel = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeGroupChannelNot)) { groupChannelNot = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeGroupContent)) { groupContent = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeGroupContentNot)) { groupContentNot = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeTags)) { tags = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeOrder)) { var dataManager = new StlDataManager(parseManager.DatabaseManager); orderByString = dataManager.GetContentOrderByString(parseManager.PageInfo.SiteId, value, TaxisType.OrderByTaxisDesc); } else if (StringUtils.EqualsIgnoreCase(name, AttributeStartNum)) { startNum = TranslateUtils.ToInt(value, 1); } else if (StringUtils.EqualsIgnoreCase(name, AttributeTotalNum)) { totalNum = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeTitleWordNum)) { titleWordNum = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeIsTop)) { isTopExists = true; isTop = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeIsRecommend)) { isRecommendExists = true; isRecommend = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeIsHot)) { isHotExists = true; isHot = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeIsColor)) { isColorExists = true; isColor = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeTheme)) { theme = value; } else if (StringUtils.EqualsIgnoreCase(name, AttributeWidth)) { if (StringUtils.EndsWithIgnoreCase(value, "px")) { value = value.Substring(0, value.Length - 2); } imageWidth = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeHeight)) { if (StringUtils.EndsWithIgnoreCase(value, "px")) { value = value.Substring(0, value.Length - 2); } imageHeight = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, AttributeBgColor)) { bgColor = value; } else if (StringUtils.EqualsIgnoreCase(name, AttributeIsShowText)) { isShowText = TranslateUtils.ToBool(value, true); } else if (StringUtils.EqualsIgnoreCase(name, AttributeIsTopText)) { isTopText = value; } else { attributes[name] = value; } } return(await ParseImplAsync(parseManager, attributes, channelIndex, channelName, scopeType, groupChannel, groupChannelNot, groupContent, groupContentNot, tags, orderByString, startNum, totalNum, isShowText, isTopText, titleWordNum, isTop, isTopExists, isRecommend, isRecommendExists, isHot, isHotExists, isColor, isColorExists, theme, imageWidth, imageHeight, textHeight, bgColor)); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var contextInfo = parseManager.ContextInfo; if (contextInfo.IsStlEntity || string.IsNullOrWhiteSpace(contextInfo.InnerHtml)) { return(string.Empty); } var channelIndex = string.Empty; var channelName = string.Empty; var upLevel = 0; var topLevel = -1; var context = contextInfo.ContextType; foreach (var name in contextInfo.Attributes.AllKeys) { var value = contextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, ChannelIndex)) { channelIndex = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, ChannelName)) { channelName = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Parent)) { if (TranslateUtils.ToBool(value)) { upLevel = 1; } } else if (StringUtils.EqualsIgnoreCase(name, UpLevel)) { upLevel = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, TopLevel)) { topLevel = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, Context)) { context = TranslateUtils.ToEnum(value, ParseType.Undefined); } } var dataManager = new StlDataManager(parseManager.DatabaseManager); var channelId = await dataManager.GetChannelIdByLevelAsync(parseManager.PageInfo.SiteId, contextInfo.ChannelId, upLevel, topLevel); channelId = await dataManager.GetChannelIdByChannelIdOrChannelIndexOrChannelNameAsync(parseManager.PageInfo.SiteId, channelId, channelIndex, channelName); contextInfo.ContextType = context; contextInfo.ChannelId = channelId; var innerHtml = RegexUtils.GetInnerContent(ElementName, contextInfo.OuterHtml); var builder = new StringBuilder(innerHtml); await parseManager.ParseInnerContentAsync(builder); return(builder.ToString()); }
internal static async Task <object> ParseAsync(IParseManager parseManager) { var siteName = string.Empty; var siteDir = string.Empty; var type = string.Empty; var formatString = string.Empty; var no = "0"; string separator = null; var startIndex = 0; var length = 0; var wordNum = 0; var ellipsis = Constants.Ellipsis; var replace = string.Empty; var to = string.Empty; var isClearTags = false; var isReturnToBr = false; var isLower = false; var isUpper = false; var attributes = new NameValueCollection(); foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, SiteName)) { siteName = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, SiteDir)) { siteDir = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Type)) { type = value; } else if (StringUtils.EqualsIgnoreCase(name, FormatString)) { formatString = value; } else if (StringUtils.EqualsIgnoreCase(name, No)) { no = value; } else if (StringUtils.EqualsIgnoreCase(name, Separator)) { separator = value; } else if (StringUtils.EqualsIgnoreCase(name, StartIndex)) { startIndex = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, Length)) { length = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, WordNum)) { wordNum = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, Ellipsis)) { ellipsis = value; } else if (StringUtils.EqualsIgnoreCase(name, Replace)) { replace = value; } else if (StringUtils.EqualsIgnoreCase(name, To)) { to = value; } else if (StringUtils.EqualsIgnoreCase(name, IsClearTags)) { isClearTags = TranslateUtils.ToBool(value, false); } else if (StringUtils.EqualsIgnoreCase(name, IsReturnToBr)) { isReturnToBr = TranslateUtils.ToBool(value, false); } else if (StringUtils.EqualsIgnoreCase(name, IsLower)) { isLower = TranslateUtils.ToBool(value, true); } else if (StringUtils.EqualsIgnoreCase(name, IsUpper)) { isUpper = TranslateUtils.ToBool(value, true); } else { attributes[name] = value; } } var site = parseManager.ContextInfo.Site; if (!string.IsNullOrEmpty(siteName)) { site = await parseManager.DatabaseManager.SiteRepository.GetSiteBySiteNameAsync(siteName); } else if (!string.IsNullOrEmpty(siteDir)) { site = await parseManager.DatabaseManager.SiteRepository.GetSiteByDirectoryAsync(siteDir); } if (parseManager.ContextInfo.IsStlEntity && string.IsNullOrEmpty(type)) { return(site); } return(await ParseAsync(parseManager, site, type, formatString, no, separator, startIndex, length, wordNum, ellipsis, replace, to, isClearTags, isReturnToBr, isLower, isUpper, attributes)); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var attributes = new NameValueCollection(); var isChannel = true; var channelIndex = string.Empty; var channelName = string.Empty; var upLevel = 0; var topLevel = -1; var scopeTypeString = string.Empty; var groupChannel = string.Empty; var groupChannelNot = string.Empty; var groupContent = string.Empty; var groupContentNot = string.Empty; var tags = string.Empty; var order = string.Empty; var totalNum = 0; var titleWordNum = 0; var queryString = string.Empty; var isTop = false; var isTopExists = false; var isRecommend = false; var isRecommendExists = false; var isHot = false; var isHotExists = false; var isColor = false; var isColorExists = false; var displayTitle = string.Empty; var openWin = true; foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, IsChannel)) { isChannel = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, ChannelIndex) || StringUtils.EqualsIgnoreCase(name, Index)) { channelIndex = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, ChannelName)) { channelName = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, UpLevel)) { upLevel = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, TopLevel)) { topLevel = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, Scope)) { scopeTypeString = value; } else if (StringUtils.EqualsIgnoreCase(name, GroupChannel)) { groupChannel = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, GroupChannelNot)) { groupChannelNot = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, GroupContent)) { groupContent = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, GroupContentNot)) { groupContentNot = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Tags)) { tags = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Order)) { order = value; } else if (StringUtils.EqualsIgnoreCase(name, TotalNum)) { totalNum = TranslateUtils.ToInt(value, totalNum); } else if (StringUtils.EqualsIgnoreCase(name, QueryString)) { queryString = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, IsTop)) { isTopExists = true; isTop = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, IsRecommend)) { isRecommendExists = true; isRecommend = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, IsHot)) { isHotExists = true; isHot = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, IsColor)) { isColorExists = true; isColor = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, TitleWordNum)) { titleWordNum = TranslateUtils.ToInt(value, titleWordNum); } else if (StringUtils.EqualsIgnoreCase(name, Title)) { displayTitle = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, OpenWin)) { openWin = TranslateUtils.ToBool(value); } else { attributes[name] = value; } } return(await ParseImplAsync(parseManager, attributes, isChannel, channelIndex, channelName, upLevel, topLevel, scopeTypeString, groupChannel, groupChannelNot, groupContent, groupContentNot, tags, order, totalNum, titleWordNum, queryString, isTop, isTopExists, isRecommend, isRecommendExists, isHot, isHotExists, isColor, isColorExists, displayTitle, openWin)); }