BN089-BS开发框架MVC4版/source20131023/Zephyr.Net/Zephyr.Core/Request/RequestWrapperConvert.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*************************************************************************
 * 文件名称 :RequestWrapperConvert.cs                          
 * 描述说明 :请求包装 参数转换处理
 * 
 * 创建信息 : create by liuhuisheng.xm@gmail.com on 2012-11-10
 * 修订信息 : modify by (person) on (date) for (reason)
 * 
 * 版权信息 : Copyright (c) 2013 厦门纵云信息科技有限公司 www.zoewin.com
**************************************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Xml.Linq;

namespace Zephyr.Core
{
    public partial class RequestWrapper
    {
        #region 私有方法
        private void parseColumns(XElement settings, Action<string,object> Column) {
            var columns = settings.Element("columns");//todo 拓展功能
            var ignoreCols = columns != null ? getXmlElementAttr(columns, "ignore").Split(',') : new string[0];
            var includeCols = columns != null ? getXmlElementAttr(columns, "include").Split(',') : new string[0];
            ignores.AddRange(ignoreCols);

            foreach (var key in this.Except(ignores))
            {
                if (includeCols.Length == 0 || includeCols.Contains(key))
                    Column(key, this[key]);
            }
        }

        private void parseWhere(XElement settings, Action<string, string, Func<WhereData, string>, string, object[]> AndWhere)
        {
            var where = settings.Element("where");
            if (where == null) return;

            var defaultForAll = string.Equals(getXmlElementAttr(where, "defaultForAll"), "true", StringComparison.OrdinalIgnoreCase);
            var defaultCp = CpHelper.Parse(getXmlElementAttr(where, "defaultCp"));
            var defaultIgnoreEmpty = string.Equals(getXmlElementAttr(where, "defaultIgnoreEmpty"), "true", StringComparison.OrdinalIgnoreCase);

            var handledList = new List<string>();
            foreach (var item in where.Elements("field"))
            {
                var name = getXmlElementAttr(item, "name");
                var cp = CpHelper.Parse(getXmlElementAttr(item, "cp"), defaultCp);
                var ignoreEmpty = getXmlElementAttr(item, "ignoreEmpty") == string.Empty ? defaultIgnoreEmpty : string.Equals(getXmlElementAttr(item, "ignoreEmpty"), "true", StringComparison.OrdinalIgnoreCase);
                var variable = getXmlElementAttr(item, "variable",name);
                var value = this[variable];
                var extend = getXmlElementAttr(item, "extend").Split(',');

                if (!string.IsNullOrEmpty(value) || !ignoreEmpty)
                    AndWhere(getFieldName(name, true), value, cp, variable, extend);

                handledList.Add(getFieldName(variable));
                handledList.Add(getAliasName(variable));
            }

后面还有 98 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。