Exemplo n.º 1
0
        /// <summary>
        /// Add SQL parameter to command object
        /// </summary>
        /// <param name="command">SQL command object</param>
        /// <param name="prms">SQL parameter to add</param>
        private static void AddParamToCommand(SqlCommand command, List <SqlParam>?prms = null)
        {
            if (prms != null)
            {
                foreach (SqlParam fParam in prms)
                {
                    object       value  = SimpleConvert.ConvertNullToDbNull(fParam.Value);
                    SqlParameter newpar = command.Parameters.AddWithValue(fParam.SqlName, value);
                    if (fParam.Direction != ParameterDirection.Input)
                    {
                        newpar.Direction = fParam.Direction;

                        //For non-inputed parameter save the original parameter object to retrieve value after SQL execute
                        if (fParam.SqlParameter != null)
                        {
                            throw new InvalidOperationException("Concurency SQL execution call on non-input sql parameter! Not supported!");
                        }

                        fParam.SqlParameter = newpar;
                    }

                    newpar.SqlDbType = ConvertDatabaseType(fParam.SqlType);

                    if (fParam.Size.HasValue)
                    {
                        newpar.Size = fParam.Size.Value;
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Read data from db result
        /// </summary>
        /// <param name="reader">DB reader</param>
        public override void DbRead(IDbDataReader reader)
        {
            base.DbRead(reader);

            ParamName     = reader.ReadString(nameof(ParamName));
            ParamType     = SimpleConvert.Convert <SqlDbType>(reader.ReadString(nameof(ParamType)));
            TypeLength    = reader.ReadInt16(nameof(TypeLength));
            TypePrecision = reader.ReadByte(nameof(TypePrecision));
            IsNullable    = SimpleConvert.Convert <bool>(reader.ReadInt32(nameof(IsNullable)));
            OrderId       = reader.ReadInt16(nameof(OrderId));
            Collation     = reader.ReadStringN(nameof(Collation));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Read/Write enum value
        /// </summary>
        /// <typeparam name="TEnum">Runtime type of Enum</typeparam>
        /// <param name="fieldName">Name of the De/Serialized field</param>
        /// <param name="value">Value to Serialize</param>
        /// <returns>Readed value</returns>
        public TEnum ReadWriteEnum <TEnum>(string fieldName, TEnum value)
            where TEnum : Enum
        {
            if (IsWrite)
            {
                int numberValue = SimpleConvert.Convert <int>(value);
                Writer !.WriteInt32(fieldName, numberValue);
            }
            else
            {
                int numberValue = Reader !.ReadInt32(fieldName);
                value = SimpleConvert.Convert <TEnum>(numberValue);
            }

            return(value);
        }
Exemplo n.º 4
0
 static void Main(string[] args)
 {
     Console.WriteLine(SimpleConvert.To <double>("5.6"));
     Console.WriteLine(SimpleConvert.To <decimal>("42"));
 }
Exemplo n.º 5
0
 /// <summary>
 /// Read data from db result
 /// </summary>
 /// <param name="reader">DB reader</param>
 public virtual void DbRead(IDbDataReader reader)
 {
     SchemaName = reader.ReadString(nameof(SchemaName));
     ObjectName = reader.ReadString(nameof(ObjectName));
     ObjectType = SimpleConvert.Convert <MsSqlDbObjectType>(reader.ReadString(nameof(ObjectType)));
 }