From: Michael D. <mik...@us...> - 2005-01-17 03:35:35
|
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 && |