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();
}
}
}
|