/// <summary>
 /// Overriding type constructor for any direction parameters
 /// </summary>
 /// <param name="pName"></param>
 /// <param name="pDt"></param>
 /// <param name="val"></param>
 /// <param name="pDir"></param>
 /// <param name="sZ"></param>
 public OracleProcParam(string pName, DataTypeConstants.PawnDataType pDt, object val, ParameterDirection pDir, int sZ)
 {
     if (pDt == DataTypeConstants.PawnDataType.CLOB)
     {
         this.paramIsClob = true;
     }
     this.Direction       = pDir;
     this.dataTypeName    = pDt;
     this.Name            = pName;
     this.parameterValues = new List <object>(1);
     this.ComputeDataType();
     if (this.Direction == ParameterDirection.Input && val != null)
     {
         if (pDt == DataTypeConstants.PawnDataType.TIMESTAMP)
         {
             this.AddValue(val);
         }
         else
         {
             this.AddValue(val.ToString());
         }
     }
     else if (val != null)
     {
         this.AddValue(DBNull.Value);
     }
     this.arraySize = sZ;
 }
 /// <summary>
 /// Overriding type constructor for any direction parameters
 /// </summary>
 /// <param name="pName"></param>
 /// <param name="oDb"></param>
 /// <param name="val"></param>
 /// <param name="pDir"></param>
 /// <param name="sZ"></param>
 public OracleProcParam(string pName, OracleDbType oDb, object val, ParameterDirection pDir, int sZ)
 {
     if (oDb == OracleDbType.Clob)
     {
         this.paramIsClob = true;
     }
     this.Direction       = pDir;
     this.dataTypeName    = DataTypeConstants.PawnDataType.WHOLENUMBER;
     this.Name            = pName;
     this.parameterValues = new List <object>(1);
     this.OracleType      = oDb;
     if (this.Direction == ParameterDirection.Input && val != null)
     {
         if (oDb == OracleDbType.TimeStamp || oDb == OracleDbType.TimeStampLTZ ||
             oDb == OracleDbType.TimeStampTZ)
         {
             this.AddValue(val);
         }
         else
         {
             this.AddValue(val.ToString());
         }
     }
     else if (val != null)
     {
         this.AddValue(DBNull.Value);
     }
     this.arraySize = sZ;
 }
        /// <summary>
        /// Overriding type constructor for any direction parameters
        /// </summary>
        /// <param name="pName"></param>
        /// <param name="pDt"></param>
        /// <param name="val"></param>
        /// <param name="pDir"></param>
        /// <param name="sZ"></param>
        /// <param name="preserveType"></param>
// ReSharper disable UnusedMember.Global
        public OracleProcParam(string pName, DataTypeConstants.PawnDataType pDt, object val, ParameterDirection pDir, int sZ, bool preserveType)
// ReSharper restore UnusedMember.Global
        {
            if (pDt == DataTypeConstants.PawnDataType.CLOB)
            {
                this.paramIsClob = true;
            }
            this.Direction       = pDir;
            this.dataTypeName    = pDt;
            this.Name            = pName;
            this.parameterValues = new List <object>(1);
            this.ComputeDataType();
            if (this.Direction == ParameterDirection.Input && val != null)
            {
                if (preserveType)
                {
                    this.AddValue(val);
                }
                else
                {
                    this.AddValue(val.ToString());
                }
            }
            else if (val != null)
            {
                this.AddValue(DBNull.Value);
            }
            this.arraySize = sZ;
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="s"></param>
 /// <returns></returns>
 public PairType <TypeCode, SqlDbType> this[DataTypeConstants.PawnDataType p]
 {
     get
     {
         if (!this.mapping.ContainsKey(p))
         {
             return(null);
         }
         return(this.mapping[p]);
     }
 }
        /// <summary>
        /// Input default direction, string data constructor with ability to specify first value
        /// </summary>
        /// <param name="pName"></param>
        /// <param name="val"></param>
        public OracleProcParam(string pName, decimal val)
        {
            this.Direction       = ParameterDirection.Input;
            this.paramIsClob     = false;
            this.dataTypeName    = DataTypeConstants.PawnDataType.REALNUMBER;
            this.Name            = pName;
            this.parameterValues = new List <object>(1);
            this.OracleType      = OracleDbType.Decimal;

            //Add value
            this.AddValue(val);
        }
 /// <summary>
 /// OracleProcParam ctor to setup for the add of any kind of array
 /// </summary>
 /// <param name="pDir"></param>
 /// <param name="pDName"></param>
 /// <param name="pName"></param>
 /// <param name="pArrSize"></param>
 public OracleProcParam(
     ParameterDirection pDir,
     DataTypeConstants.PawnDataType pDName,
     string pName,
     int pArrSize)
 {
     this.Direction       = pDir;
     this.paramIsClob     = false;
     this.dataTypeName    = pDName;
     this.Name            = pName;
     this.parameterValues = new List <object>(1);
     this.arraySize       = pArrSize;
     this.ComputeDataType();
 }
示例#7
0
 /// <summary>
 /// OracleProcParam ctor to setup for the add of any kind of array
 /// </summary>
 /// <param name="pDir"></param>
 /// <param name="pDName"></param>
 /// <param name="pName"></param>
 /// <param name="pArrSize"></param>
 public OracleProcParam(
     ParameterDirection pDir,
     DataTypeConstants.PawnDataType pDName,
     string pName,
     int pArrSize)
 {
     this.Direction = pDir;
     this.paramIsClob = false;
     this.dataTypeName = pDName;
     this.Name = pName;
     this.parameterValues = new List<object>(1);
     this.arraySize = pArrSize;
     this.ComputeDataType();
 }
 /// <summary>
 /// Overriding type constructor for input parameters
 /// </summary>
 /// <param name="pName"></param>
 /// <param name="oDb"></param>
 /// <param name="val"></param>
 public OracleProcParam(string pName, OracleDbType oDb, string val)
 {
     if (oDb == OracleDbType.Clob)
     {
         this.paramIsClob = true;
     }
     this.Direction       = ParameterDirection.Input;
     this.dataTypeName    = DataTypeConstants.PawnDataType.WHOLENUMBER;
     this.Name            = pName;
     this.parameterValues = new List <object>(1);
     this.OracleType      = oDb;
     this.arraySize       = 1;
     this.AddValue(val);
 }
示例#9
0
        public OracleProcParam(
            string pName, bool isArrayParam,
            List<int> arrayIntegerData)
        {
            this.Direction = ParameterDirection.Input;
            this.paramIsClob = false;
            this.dataTypeName = DataTypeConstants.PawnDataType.LISTINT;
            this.Name = pName;
            this.parameterValues = new List<object>(1);
            this.arraySize = arrayIntegerData.Count;
            this.ComputeDataType();

            //Add values
            for (var j = 0; j < this.arraySize; ++j)
                this.AddValue(arrayIntegerData[j]);
        }
        /// <summary>
        /// Constructor
        /// </summary>
        public DataTypeVOMapper()
        {
            this.mapping = new Dictionary <DataTypeConstants.PawnDataType, PairType <TypeCode, SqlDbType> >();
            this.keys    = new List <DataTypeConstants.PawnDataType>();

            foreach (PairType <DataTypeConstants.PawnDataType, PairType <TypeCode, SqlDbType> > p in DataTypeConstants.DATATYPES)
            {
                if (p == null)
                {
                    continue;
                }
                DataTypeConstants.PawnDataType curKey = p.Left;
                PairType <TypeCode, SqlDbType> curVal = p.Right;
                this.mapping.Add(curKey, curVal);
                this.keys.Add(curKey);
            }
        }
        /// <summary>
        /// Oracle proc param constructor to add string array
        /// </summary>
        /// <param name="pName"></param>
        /// <param name="isArrayParam"></param>
        /// <param name="arrayStringData"></param>
        public OracleProcParam(
// ReSharper disable UnusedParameter.Local
            string pName, bool isArrayParam,
// ReSharper restore UnusedParameter.Local
            List <string> arrayStringData)
        {
            this.Direction       = ParameterDirection.Input;
            this.paramIsClob     = false;
            this.dataTypeName    = DataTypeConstants.PawnDataType.LISTSTRING;
            this.Name            = pName;
            this.parameterValues = new List <object>(1);
            this.arraySize       = arrayStringData.Count;
            this.ComputeDataType();

            //Add values
            for (int j = 0; j < this.arraySize; ++j)
            {
                this.AddValue(arrayStringData[j]);
            }
        }
        /// <summary>
        /// Input default direction, string data constructor with ability to specify first value
        /// </summary>
        /// <param name="pName"></param>
        /// <param name="val"></param>
        public OracleProcParam(string pName, string val)
        {
            this.Direction       = ParameterDirection.Input;
            this.paramIsClob     = false;
            this.dataTypeName    = DataTypeConstants.PawnDataType.STRING;
            this.Name            = pName;
            this.parameterValues = new List <object>(1);
            this.ComputeDataType();

            //Add value
            if (!string.IsNullOrEmpty(val))
            {
                this.AddValue(val);
            }
            else
            {
                this.dataTypeName = DataTypeConstants.PawnDataType.NULLSTRING;
                this.ComputeDataType();
                this.AddValue(string.Empty);
            }
        }
        /// <summary>
        /// Input default direction, date data constructor with ability to specify first value
        /// </summary>
        /// <param name="pName"></param>
        /// <param name="val"></param>
        public OracleProcParam(string pName, DateTime val)
        {
            this.paramIsClob     = false;
            this.Direction       = ParameterDirection.Input;
            this.dataTypeName    = DataTypeConstants.PawnDataType.DATE;
            this.Name            = pName;
            this.parameterValues = new List <object>(1);
            this.ComputeDataType();

            //Add value
            if (val != DateTime.MaxValue)
            {
                this.AddValue(OracleDataAccessor.GenerateOracleDateString(val));
            }
            else
            {
                this.dataTypeName = DataTypeConstants.PawnDataType.NULLDATE;
                this.ComputeDataType();
                this.AddValue(string.Empty);
            }
        }
        /// <summary>
        /// Input default direction, date data constructor with ability to specify first value
        /// </summary>
        /// <param name="pName"></param>
        /// <param name="val"></param>
        /// <param name="tType"></param>
        public OracleProcParam(string pName, DateTime val, TimeStampType tType)
        {
            this.paramIsClob     = false;
            this.Direction       = ParameterDirection.Input;
            this.dataTypeName    = DataTypeConstants.PawnDataType.DATE;
            this.Name            = pName;
            this.parameterValues = new List <object>(1);
            this.arraySize       = 1;
            string tZVal = string.Empty;

            switch (tType)
            {
            case TimeStampType.TIMESTAMP:
                this.OracleType = OracleDbType.TimeStamp;
                tZVal           = OracleDataAccessor.GenerateOracleTimestampString(val);
                break;

            case TimeStampType.TIMESTAMP_TZ:
                this.OracleType = OracleDbType.TimeStampTZ;
                tZVal           = OracleDataAccessor.GenerateOracleTimestampTZString(val);
                break;

            case TimeStampType.TIMESTAMP_LTZ:
                this.OracleType = OracleDbType.TimeStampLTZ;
                tZVal           = OracleDataAccessor.GenerateOracleTimestampLTZString(val);
                break;
            }

            //Add value
            if (val != DateTime.MaxValue)
            {
                this.AddValue(tZVal);
            }
            else
            {
                this.dataTypeName = DataTypeConstants.PawnDataType.NULLDATE;
                this.ComputeDataType();
                this.AddValue(string.Empty);
            }
        }
        /// <summary>
        /// Input default direction, int data constructor with ability to specify first value
        /// </summary>
        /// <param name="pName"></param>
        /// <param name="val"></param>
        public OracleProcParam(string pName, Int32 val)
        {
            this.paramIsClob     = false;
            this.Direction       = ParameterDirection.Input;
            this.dataTypeName    = DataTypeConstants.PawnDataType.WHOLENUMBER;
            this.Name            = pName;
            this.parameterValues = new List <object>(1);
            this.ComputeDataType();

            //Add value
            if (val != Int32.MaxValue)
            {
                //this.oracleDataType = OracleDbType.Decimal;
                this.AddValue(val.ToString());
            }
            else
            {
                this.dataTypeName = DataTypeConstants.PawnDataType.NULLNUMBER;
                this.ComputeDataType();
                this.AddValue(string.Empty);
            }
        }
示例#16
0
 // ReSharper restore UnusedMember.Global
 /// <summary>
 /// Overriding type constructor for any direction parameters
 /// </summary>
 /// <param name="pName"></param>
 /// <param name="pDt"></param>
 /// <param name="val"></param>
 /// <param name="pDir"></param>
 /// <param name="sZ"></param>
 /// <param name="preserveType"></param>
 // ReSharper disable UnusedMember.Global
 public OracleProcParam(string pName, DataTypeConstants.PawnDataType pDt, object val, ParameterDirection pDir, int sZ, bool preserveType)
 {
     if (pDt == DataTypeConstants.PawnDataType.CLOB)
     {
         this.paramIsClob = true;
     }
     this.Direction = pDir;
     this.dataTypeName = pDt;
     this.Name = pName;
     this.parameterValues = new List<object>(1);
     this.ComputeDataType();
     if (this.Direction == ParameterDirection.Input && val != null)
     {
         if (preserveType)
         {
             this.AddValue(val);
         }
         else
         {
             this.AddValue(val.ToString());
         }
     }
     else if (val != null)
     {
         this.AddValue(DBNull.Value);
     }
     this.arraySize = sZ;
 }
示例#17
0
 // ReSharper restore UnusedMember.Global
 /// <summary>
 /// Overriding type constructor for any direction parameters
 /// </summary>
 /// <param name="pName"></param>
 /// <param name="oDb"></param>
 /// <param name="val"></param>
 /// <param name="pDir"></param>
 /// <param name="sZ"></param>
 /// <param name="preserveType"></param>
 // ReSharper disable UnusedMember.Global
 public OracleProcParam(string pName, OracleDbType oDb, object val, ParameterDirection pDir, int sZ, bool preserveType)
 {
     if (oDb == OracleDbType.Clob)
     {
         this.paramIsClob = true;
     }
     this.Direction = pDir;
     this.dataTypeName = DataTypeConstants.PawnDataType.WHOLENUMBER;
     this.Name = pName;
     this.parameterValues = new List<object>(1);
     this.OracleType = oDb;
     if (this.Direction == ParameterDirection.Input && val != null)
     {
         if (preserveType)
         {
             this.AddValue(val);
         }
         else
         {
             this.AddValue(val.ToString());
         }
     }
     else if (val != null)
     {
         this.AddValue(DBNull.Value);
     }
     this.arraySize = sZ;
 }
示例#18
0
 /// <summary>
 /// Overriding type constructor for input parameters
 /// </summary>
 /// <param name="pName"></param>
 /// <param name="oDb"></param>
 /// <param name="val"></param>
 public OracleProcParam(string pName, OracleDbType oDb, string val)
 {
     if (oDb == OracleDbType.Clob)
     {
         this.paramIsClob = true;
     }
     this.Direction = ParameterDirection.Input;
     this.dataTypeName = DataTypeConstants.PawnDataType.WHOLENUMBER;
     this.Name = pName;
     this.parameterValues = new List<object>(1);
     this.OracleType = oDb;
     this.arraySize = 1;
     this.AddValue(val);
 }
示例#19
0
        /// <summary>
        /// Input default direction, date data constructor with ability to specify first value
        /// </summary>
        /// <param name="pName"></param>
        /// <param name="val"></param>
        /// <param name="tType"></param>
        public OracleProcParam(string pName, DateTime val, TimeStampType tType)
        {
            this.paramIsClob = false;
            this.Direction = ParameterDirection.Input;
            this.dataTypeName = DataTypeConstants.PawnDataType.DATE;
            this.Name = pName;
            this.parameterValues = new List<object>(1);
            this.arraySize = 1;
            string tZVal = string.Empty;
            switch (tType)
            {
                case TimeStampType.TIMESTAMP:
                    this.OracleType = OracleDbType.TimeStamp;
                    tZVal = OracleDataAccessor.GenerateOracleTimestampString(val);
                    break;
                case TimeStampType.TIMESTAMP_TZ:
                    this.OracleType = OracleDbType.TimeStampTZ;
                    tZVal = OracleDataAccessor.GenerateOracleTimestampTZString(val);
                    break;
                case TimeStampType.TIMESTAMP_LTZ:
                    this.OracleType = OracleDbType.TimeStampLTZ;
                    tZVal = OracleDataAccessor.GenerateOracleTimestampLTZString(val);
                    break;
            }

            //Add value
            if (val != DateTime.MaxValue)
            {
                this.AddValue(tZVal);
            }
            else
            {
                this.dataTypeName = DataTypeConstants.PawnDataType.NULLDATE;
                this.ComputeDataType();
                this.AddValue(string.Empty);
            }
        }
示例#20
0
        /// <summary>
        /// Input default direction, int data constructor with ability to specify first value
        /// </summary>
        /// <param name="pName"></param>
        /// <param name="val"></param>
        public OracleProcParam(string pName, Int64 val)
        {
            this.paramIsClob = false;
            this.Direction = ParameterDirection.Input;
            this.dataTypeName = DataTypeConstants.PawnDataType.WHOLENUMBER;
            this.Name = pName;
            this.parameterValues = new List<object>(1);
            //            this.OracleType = OracleDbType.Int64;
            //            this.arraySize = 1;
            this.ComputeDataType();

            //Add value
            if (val != Int64.MaxValue)
            {
                this.AddValue(val.ToString());
            }
            else
            {
                this.dataTypeName = DataTypeConstants.PawnDataType.NULLNUMBER;
                this.ComputeDataType();
                this.AddValue(string.Empty);
            }
        }
示例#21
0
 public OracleProcParam(string pName, decimal val)
 {
     this.Direction = ParameterDirection.Input;
     this.paramIsClob = false;
     this.dataTypeName = DataTypeConstants.PawnDataType.REALNUMBER;
     this.Name = pName;
     this.parameterValues = new List<object>(1);
     this.OracleType = OracleDbType.Decimal;
     //Add value
     this.AddValue(val);
 }
示例#22
0
        public OracleProcParam(string pName, string val)
        {
            this.Direction = ParameterDirection.Input;
            this.paramIsClob = false;
            this.dataTypeName = DataTypeConstants.PawnDataType.STRING;
            this.Name = pName;
            this.parameterValues = new List<object>(1);
            this.ComputeDataType();

            //Add value
            if (!string.IsNullOrEmpty(val))
            {
                this.AddValue(val);
            }
            else
            {
                this.dataTypeName = DataTypeConstants.PawnDataType.NULLSTRING;
                this.ComputeDataType();
                this.AddValue(string.Empty);
            }
        }
示例#23
0
        /// <summary>
        /// Input default direction, date data constructor with ability to specify first value
        /// </summary>
        /// <param name="pName"></param>
        /// <param name="val"></param>
        public OracleProcParam(string pName, DateTime val)
        {
            this.paramIsClob = false;
            this.Direction = ParameterDirection.Input;
            this.dataTypeName = DataTypeConstants.PawnDataType.DATE;
            this.Name = pName;
            this.parameterValues = new List<object>(1);
            this.ComputeDataType();

            //Add value
            if (val != DateTime.MaxValue)
            {
                this.AddValue(OracleDataAccessor.GenerateOracleDateString(val));
            }
            else
            {
                this.dataTypeName = DataTypeConstants.PawnDataType.NULLDATE;
                this.ComputeDataType();
                this.AddValue(string.Empty);
            }
        }