Пример #1
0
Файл: Env.cs Проект: ikvm/test
        private void method_0(ReportDefine rd)
        {
            Args arguments = rd.Arguments;

            string[] argumentNames = arguments.ArgumentNames;
            ParamsMap = new StringMap(argumentNames.Length);
            for (int i = 0; i < argumentNames.Length; i++)
            {
                Arg    arg  = arguments[i];
                object obj3 = ArgDataType.getProperData(int.Parse(arg.type), arg.value_Renamed);
                ParamsMap[argumentNames[i]] = obj3;
            }
            MacrosMap  = rd.Macros;
            SubRptList = rd.SubReports;
        }
Пример #2
0
        public virtual DataSet getDataSet(Env env)
        {
            DataSetConfig config     = (DataSetConfig)this.hashtable_0["dsc"];
            Part          part       = new Part(config.SQL);
            string        s          = part["names"];
            string        str3       = part["types"];
            ArgToken      token      = new ArgToken(part["data"], '\n');
            ArgToken      token2     = new ArgToken(s, '\t');
            ArgToken      token3     = new ArgToken(str3, '\t');
            int           initColCap = token2.countTokens();
            int           initRowCap = token.countTokens();
            DataSet       set        = new DataSet(initRowCap, initColCap);

            int[] numArray = new int[initColCap];
            int   index    = 0;

            while (true)
            {
                if (index >= initColCap)
                {
                    break;
                }
                string colName = token2.nextToken();
                set.addColumn(colName);
                numArray[index] = 6;
                try
                {
                    numArray[index] = int.Parse(token3.nextToken());
                }
                catch (Exception)
                {
                    numArray[index] = 6;
                }
                index++;
            }
            for (int i = 0; i < initRowCap; i++)
            {
                Row      row    = set.addRow();
                ArgToken token4 = new ArgToken(token.nextToken(), '\t');
                for (int j = 0; j < initColCap; j++)
                {
                    string val = Escape.removeEscAndQuote(token4.nextToken());
                    row.setData((int)(j + 1), ArgDataType.getProperData(numArray[j], val));
                }
            }
            return(set);
        }
Пример #3
0
        private void preapareArgs(ReportDefine reportDefine_0, Hashtable hashtable_0, Env env_0)
        {
            Args arguments = reportDefine_0.Arguments;

            if (arguments.size() > 0)
            {
                int num2 = arguments.size();
                for (int i = 0; i < num2; i++)
                {
                    Arg    arg = arguments[i];
                    string val = null;
                    if (hashtable_0 != null)
                    {
                        val = (string)hashtable_0[arg.enName];
                    }
                    if (((val == null) && (arg.value_Renamed != null)) && (arg.value_Renamed.Trim().Length > 0))
                    {
                        val = arg.value_Renamed;
                    }
                    int    num3       = int.Parse(arg.type);
                    object paramValue = null;
                    try
                    {
                        paramValue = ArgDataType.getProperData(num3, val);
                    }
                    catch (Exception)
                    {
                        throw new Exception(new StringBuilder("参数\"").Append(arg.chName).Append("\"的值").Append(val).Append("与其类型不匹配!").ToString().ToString());
                    }
                    env_0.putParam(arg.enName, paramValue);
                    _builder.Append("<arg><name>" + arg.enName + "</name><value>" + Convert.ToString(paramValue) + "</value></arg>");
                }
            }
            StringMap macros = reportDefine_0.Macros;

            if ((macros != null) && (macros.Count > 0))
            {
                IEnumerator enumerator = new SupportClass.SetSupport(macros.Keys).GetEnumerator();
                while (enumerator.MoveNext())
                {
                    string current = (string)enumerator.Current;
                    string str4    = null;
                    if (hashtable_0 != null)
                    {
                        str4 = (string)hashtable_0[current];
                    }
                    if (str4 == null)
                    {
                        str4 = (string)macros[current];
                    }
                    _builder.Append("<macro><name>" + current + "</name><value>" + str4 + "</value></macro>");
                    env_0.putMacro(current, str4);
                }
            }
            string str      = null;
            string rootPath = null;

            if (env_0.Request == null)
            {
                str      = env_0.getParameter("e_setparammacro");
                rootPath = FileAction.rootPath;
            }
            else
            {
                str      = env_0.Request["e_setparammacro"];
                rootPath = env_0.Request.PhysicalApplicationPath;
            }
            if ((str != null) && (str.Length > 0))
            {
                Type type = Assembly.LoadFrom(rootPath + @"bin\LoadEbiao.dll").GetType("LoadEbiao.IParamMacro");
                if (type != null)
                {
                    object[]     args       = new object[0];
                    object       obj2       = Activator.CreateInstance(type, args);
                    BindingFlags invokeAttr = BindingFlags.Public | BindingFlags.Instance;
                    object[]     parameters = new object[] { env_0 };
                    try
                    {
                        type.GetMethod("setParams").Invoke(obj2, invokeAttr, Type.DefaultBinder, parameters, null);
                    }
                    catch (Exception exception)
                    {
                        throw new Exception(exception.InnerException.Message);
                    }
                    try
                    {
                        type.GetMethod("setMacros").Invoke(obj2, invokeAttr, Type.DefaultBinder, parameters, null);
                    }
                    catch (Exception exception2)
                    {
                        throw new Exception(exception2.InnerException.Message);
                    }
                }
            }
        }