From: Donald L M. Jr. <lu...@us...> - 2005-04-28 18:51:46
|
Update of /cvsroot/nhibernate/NHibernateContrib/src/Nullables.NHibernate In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10798/src/Nullables.NHibernate Modified Files: Nullables.NHibernate-1.1.csproj Added Files: NullableCharType.cs Log Message: Added NullableChar Index: Nullables.NHibernate-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/NHibernateContrib/src/Nullables.NHibernate/Nullables.NHibernate-1.1.csproj,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Nullables.NHibernate-1.1.csproj 17 Feb 2005 14:03:05 -0000 1.2 --- Nullables.NHibernate-1.1.csproj 28 Apr 2005 18:51:37 -0000 1.3 *************** *** 115,118 **** --- 115,123 ---- /> <File + RelPath = "NullableCharType.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "NullableDateTimeType.cs" SubType = "Code" --- NEW FILE: NullableCharType.cs --- using System; using NHibernate.Type; using NHibernate.SqlTypes; using Nullables; namespace Nullables.NHibernate { public class NullableCharType : NullableTypesType { public NullableCharType() : base(new StringFixedLengthSqlType(1)) { } public override bool Equals(object x, object y) { //get boxed values. NullableChar xTyped = (NullableChar)x; return xTyped.Equals(y); } public override object NullValue { get { return NullableChar.Default; } } public override bool HasNiceEquals { get { return true; } } public override bool IsMutable { get { return true; } } public override string Name { get { return "NullableChar"; } } public override System.Type ReturnedClass { get { return typeof(Nullables.NullableChar); } } public override object DeepCopyNotNull(object val) { return val; } public override object Get(System.Data.IDataReader rs, int index) { //TODO: perhaps NullableChar has a method/operator/contructor that will take an object. object value = rs[index]; if( value==DBNull.Value ) { return NullableChar.Default; } else { return new NullableChar(Convert.ToChar(value)); } } public override void Set(System.Data.IDbCommand cmd, object value, int index) { System.Data.IDataParameter parameter = (System.Data.IDataParameter)cmd.Parameters[index]; NullableChar nullableValue = (NullableChar)value; if( nullableValue.HasValue ) { parameter.Value = nullableValue.Value; } else { parameter.Value = DBNull.Value; } } public override string ToXML(object val) { return val.ToString(); } } } |