public static object Parse(PageInfo pageInfo, ContextInfo contextInfo) { 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 contextInfo.Attributes.AllKeys) { var value = contextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, ConnectionString)) { connectionString = value; } else if (StringUtils.EqualsIgnoreCase(name, ConnectionStringName)) { if (string.IsNullOrEmpty(connectionString)) { connectionString = WebConfigUtils.ConnectionString; } } else if (StringUtils.EqualsIgnoreCase(name, QueryString)) { queryString = StlEntityParser.ReplaceStlEntitiesForAttributeValue(value, pageInfo, contextInfo); } else if (StringUtils.EqualsIgnoreCase(name, Type)) { type = value.ToLower(); } 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 (contextInfo.IsStlEntity && string.IsNullOrEmpty(type)) { object dataItem = null; if (contextInfo.ItemContainer?.SqlItem != null) { dataItem = contextInfo.ItemContainer?.SqlItem.DataItem; } else if (!string.IsNullOrEmpty(queryString)) { var dataTable = StlDatabaseCache.GetDataTable(connectionString, queryString); var dictList = TranslateUtils.DataTableToDictionaryList(dataTable); if (dictList != null && dictList.Count >= 1) { dataItem = dictList[0]; } } return(dataItem); } return(ParseImpl(contextInfo, connectionString, queryString, leftText, rightText, formatString, startIndex, length, wordNum, ellipsis, replace, to, isClearTags, isReturnToBr, isLower, isUpper, type)); }
private static object ParseEntity(DataSet dataSource) { var table = dataSource.Tables[0]; return(TranslateUtils.DataTableToDictionaryList(table)); }