Beispiel #1
0
        public virtual string ReadHash(IBedValueReader reader, BedValueConvertor auxConv, BedValueHolder auxHolder)
        {
            switch (reader.GetFieldType())
            {
            case TypeStorage.String:
                return(reader.GetString().ToLower());

            case TypeStorage.ByteArray:
            {
                byte[] data = reader.GetByteArray();
                if (data.Length == 32)
                {
                    return(Encoding.UTF8.GetString(data));
                }
                return(StringTool.EncodeHex(data).ToLower());
            }
            }
            auxConv.ConvertValue(reader, TypeStorage.String, auxHolder);
            return(auxHolder.GetString());
        }
        protected virtual void ApplyTypeRestrictions(BedValueHolder holder, DbTypeBase type, ILogger logger)
        {
            var stype = type as DbTypeString;
            var htype = holder.GetFieldType();

            if (stype != null && htype == TypeStorage.String)
            {
                string sval = holder.GetString();
                if (stype.Length > 0 && sval.Length > stype.Length)
                {
                    sval = sval.Substring(0, stype.Length);
                    holder.SetString(sval);
                }
            }
            if (htype.IsDateRelated() && !m_allowZeroInDate)
            {
                var dt = holder.GetDateTimeValue();
                dt.MakeValidDate();
                m_holder.SetDateTimeEx(dt);
            }
        }
Beispiel #3
0
 public string GetString(int i)
 {
     WantField(i);
     m_convertor.ConvertValue(m_record, TypeStorage.String, m_value);
     return(m_value.GetString());
 }