Пример #1
0
 private static string GenCacheKey(SPClassContext context)
 {
     return(context.ClassName);
 }
Пример #2
0
        private static string CreatingFunBody(ParameterInfo[] allparam, Type returnType, string FuncName, string ProcedurName, SPClassContext Context)
        {
            StringBuilder FunB      = new StringBuilder(256);
            StringBuilder OutParamH = new StringBuilder();

            FunB.Append("ExecutionContext Result=null;"); FunB.Append(Environment.NewLine);
            FunB.Append("Dictionary<string, SpParameter> SpParam = null;"); FunB.Append(Environment.NewLine);
            FunB.Append("ExecutionContext EContext=new ExecutionContext();"); FunB.Append(Environment.NewLine);
            FunB.Append("EContext.SpName=\"" + ProcedurName + "\";");
            if (allparam.Length == 1 && !BasicHelper.IsRemoveType(allparam[0].ParameterType))
            {
                FunB.Append("EContext.ParamDTO=" + allparam[0].Name + ";"); FunB.Append(Environment.NewLine);
            }
            else
            {
                FunB.Append("SpParam = new Dictionary<string, SpParameter>();");

                foreach (var item in allparam)
                {
                    //Handling out...
                    if (item.IsOut)
                    {
                        string OutPramatype = item.ParameterType.GetActualName();
                        FunB.Append(item.Name + " = default(" + OutPramatype + ");"); FunB.Append(Environment.NewLine);
                        OutParamH.Append(item.Name + "= (" + OutPramatype + ") EContext._params[\"" + item.Name + "\"].PValue;"); FunB.Append(Environment.NewLine);
                    }
                    string ParamVar = SpParameterVariable(item);
                    FunB.Append("SpParameter " + ParamVar + " = new SpParameter();"); FunB.Append(Environment.NewLine);
                    FunB.Append(ParamVar + ".PValue=" + item.Name + ";"); FunB.Append(Environment.NewLine);
                    FunB.Append(ParamVar + ".PropertyName=\"" + item.Name + "\";"); FunB.Append(Environment.NewLine);
                    FunB.Append(ParamVar + ".IsOutParam=bool.Parse(\"" + item.IsOut.ToString() + "\");");
                    FunB.Append("SpParam.Add(\"" + item.Name + "\"," + ParamVar + ");"); FunB.Append(Environment.NewLine);
                }
                FunB.Append("EContext._params=SpParam;");
            }
            FunB.Append("EContext.ReturnType=typeof(" + returnType.GetActualName() + ");"); FunB.Append(Environment.NewLine);
            FunB.Append("EContext.ServerKey=\"" + Context.DBServerProductNameKey + "\";"); FunB.Append(Environment.NewLine);
            FunB.Append("IRunSqlSp EObj=RunSpFactory.Create(\"" + Context.DBServerProductNameKey + "\");"); FunB.Append(Environment.NewLine);
            FunB.Append("EObj.SetConnectionString(\"" + Context.ConnectionString + "\");"); FunB.Append(Environment.NewLine);
            FunB.Append("Result = EObj.ExecuteSp(EContext);"); FunB.Append(Environment.NewLine);
            FunB.Append(OutParamH);
            FunB.Append("return (" + returnType.GetActualName() + ") Result.ReturnObject;"); FunB.Append(Environment.NewLine);
            return(FunB.ToString());
        }