Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Type
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10283/NHibernate/Type
Modified Files:
DateTimeType.cs
Log Message:
NH164 - Fixed DateTimeType to allow dates before 1753. If your db
does not support it then don't pass a date before then - instead use
the Nullables library.
Index: DateTimeType.cs
===================================================================
RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/DateTimeType.cs,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** DateTimeType.cs 31 Dec 2004 23:52:20 -0000 1.13
--- DateTimeType.cs 17 Jan 2005 03:35:24 -0000 1.14
***************
*** 59,73 ****
{
IDataParameter parm = st.Parameters[ index ] as IDataParameter;
! parm.DbType = DbType.DateTime;
! //TODO: figure out if this is a good solution for NULL DATES
! if( ( DateTime ) value < new DateTime( 1753, 1, 1 ) )
! {
! parm.Value = DBNull.Value;
! }
! else
! {
! DateTime dateValue = ( DateTime ) value;
! parm.Value = new DateTime( dateValue.Year, dateValue.Month, dateValue.Day, dateValue.Hour, dateValue.Minute, dateValue.Second );
! }
}
--- 59,64 ----
{
IDataParameter parm = st.Parameters[ index ] as IDataParameter;
! DateTime dateValue = ( DateTime ) value;
! parm.Value = new DateTime( dateValue.Year, dateValue.Month, dateValue.Day, dateValue.Hour, dateValue.Minute, dateValue.Second );
}
***************
*** 80,95 ****
public override bool Equals( object x, object y )
{
! if( x == y )
{
return true;
}
! // DateTime can't be null because it is a struct - so comparing
! // them this way is useless - instead use the magic number...
! //if (x==null || y==null) return false;
! DateTime date1 = ( x == null ) ? DateTime.MinValue : ( DateTime ) x;
! DateTime date2 = ( y == null ) ? DateTime.MinValue : ( DateTime ) y;
- //return date1.Equals(date2);
return ( date1.Year == date2.Year &&
date1.Month == date2.Month &&
--- 71,87 ----
public override bool Equals( object x, object y )
{
! if( x==y )
{
return true;
}
!
! if( x==null || y==null )
! {
! return false;
! }
! DateTime date1 = ( DateTime ) x;
! DateTime date2 = ( DateTime ) y;
return ( date1.Year == date2.Year &&
date1.Month == date2.Month &&
|