示例#1
0
 public void MakeParams()
 {
     if (_params == null)
     {
         ISProcedure SP_Parameter = SProcedureFactory.GetInstance(ServerKey);
         SP_Parameter.SetConnectionString(ConnectionString);
         IEnumerable <ParameterMetadata> PMetadata = SP_Parameter.GetParameterMetadata(SpName);
         _params = new Dictionary <string, SpParameter>();
         foreach (var item in PMetadata)
         {
             //removeing @ from the ParameterName
             string ParaName   = item.Name.Substring(1);
             var    P_DTOParam = DataHelper.ParameterFromDTO(ParamDTO);
             if (P_DTOParam.ContainsKey(ParaName))
             {
                 var Param_Meta = P_DTOParam[ParaName];
                 Param_Meta.IsOutParam = item.IsOut(ServerKey);
                 _params.Add(ParaName, Param_Meta);
             }
             else
             {
                 throw new Exception(ParamDTO.GetType().Name + "Not Containg Parameter of " + ParaName + ", of Procedure " + SpName + ".");
             }
         }
     }
 }
        public static ISProcedure GetInstance(string DBKey)
        {
            ISProcedure result = null;

            if (DB.SQLSERVER.Equals(DBKey, StringComparison.OrdinalIgnoreCase))
            {
                result = new SqlServerSProcedure();
            }
            else
            {
                throw new Exception("Not Implemented for :" + DBKey);
            }
            return(result);
        }