From: Donald L M. Jr. <lu...@us...> - 2004-12-10 18:25:06
|
Update of /cvsroot/nhibernate/NHibernateContrib/src/Nullables.NHibernate In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5667/src/Nullables.NHibernate Modified Files: NullablesTypes.cs Added Files: NullableSByteType.cs Log Message: Implemented IComparable. Added NullableSByte, but it is inactive until further investigation. --- NEW FILE: NullableSByteType.cs --- using System; using NHibernate.Type; using NHibernate.SqlTypes; using Nullables; //Contributed by Sergey Koshcheyev namespace Nullables.NHibernate { public class NullableSByteType : NullableTypesType { public NullableSByteType() : base(new Int16SqlType()) { } public override bool Equals(object x, object y) { //get boxed values. NullableSByte xTyped = (NullableSByte)x; return xTyped.Equals(y); } public override object NullValue { get { return NullableSByte.Default; } } public override bool HasNiceEquals { get { return true; } } public override bool IsMutable { get { return true; } } public override string Name { get { return "NullableSByte"; } } public override System.Type ReturnedClass { get { return typeof(Nullables.NullableSByte); } } public override object DeepCopyNotNull(object val) { return val; } public override object Get(System.Data.IDataReader rs, int index) { //TODO: perhaps NullableSByte has a method/operator/contructor that will take an object. object value = rs[index]; if( value==DBNull.Value ) { return NullableSByte.Default; } else { return new NullableSByte((SByte)value); } } public override object Get(System.Data.IDataReader rs, string name) { //TODO: perhaps NullableSByte has a method/operator/contructor that will take an object. object value = rs[name]; if( value==DBNull.Value ) { return NullableSByte.Default; } else { return new NullableSByte((SByte)value); } } public override void Set(System.Data.IDbCommand cmd, object value, int index) { System.Data.IDataParameter parameter = (System.Data.IDataParameter)cmd.Parameters[index]; NullableSByte nullableValue = (NullableSByte)value; if( nullableValue.HasValue ) { parameter.Value = nullableValue.Value; } else { parameter.Value = DBNull.Value; } } public override string ToXML(object val) { return val.ToString(); } } } Index: NullablesTypes.cs =================================================================== RCS file: /cvsroot/nhibernate/NHibernateContrib/src/Nullables.NHibernate/NullablesTypes.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NullablesTypes.cs 12 Nov 2004 22:08:26 -0000 1.1 --- NullablesTypes.cs 10 Dec 2004 18:24:19 -0000 1.2 *************** *** 49,52 **** --- 49,57 ---- /// </summary> public static readonly NullableType NullableDateTime = new NullableDateTimeType(); + + // /// <summary> + // /// Nullables.NHibernate.NullableSByte type + // /// </summary> + // public static readonly NullableType NullableSByte = new NullableSByteType(); /// <summary> |