|
From: <fab...@us...> - 2009-05-18 19:38:02
|
Revision: 4337
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4337&view=rev
Author: fabiomaulo
Date: 2009-05-18 19:37:55 +0000 (Mon, 18 May 2009)
Log Message:
-----------
Fix NH-1783
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Type/DateType.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/DomainClass.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/SampleTest.cs
Modified: trunk/nhibernate/src/NHibernate/Type/DateType.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Type/DateType.cs 2009-05-18 05:31:15 UTC (rev 4336)
+++ trunk/nhibernate/src/NHibernate/Type/DateType.cs 2009-05-18 19:37:55 UTC (rev 4337)
@@ -49,15 +49,16 @@
public override void Set(IDbCommand st, object value, int index)
{
- IDataParameter parm = st.Parameters[index] as IDataParameter;
- if ((DateTime)value < BaseDateValue)
+ var parm = st.Parameters[index] as IDataParameter;
+ var dateTime = (DateTime)value;
+ if (dateTime < BaseDateValue)
{
parm.Value = DBNull.Value;
}
else
{
parm.DbType = DbType.Date;
- parm.Value = value;
+ parm.Value = dateTime.Date;
}
}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/DomainClass.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/DomainClass.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/DomainClass.cs 2009-05-18 19:37:55 UTC (rev 4337)
@@ -0,0 +1,11 @@
+using System;
+
+namespace NHibernate.Test.NHSpecificTest.NH1783
+{
+ public class DomainClass
+ {
+ public int Id { get; set; }
+
+ public DateTime BirthDate { get; set; }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/Mappings.hbm.xml 2009-05-18 19:37:55 UTC (rev 4337)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH1783"
+ default-lazy="false">
+ <class name="DomainClass">
+ <id name="Id">
+ <generator class="assigned" />
+ </id>
+ <property name="BirthDate" type="Date" />
+ </class>
+</hibernate-mapping>
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/SampleTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/SampleTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1783/SampleTest.cs 2009-05-18 19:37:55 UTC (rev 4337)
@@ -0,0 +1,38 @@
+using System;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH1783
+{
+ [TestFixture]
+ public class SampleTest : BugTestCase
+ {
+ [Test]
+ public void DatePropertyShouldBeStoredWithoutTimePart()
+ {
+ using (ISession session = OpenSession())
+ using (ITransaction tx = session.BeginTransaction())
+ {
+ var entity = new DomainClass {Id = 1, BirthDate = new DateTime(1950, 2, 13, 3, 12, 10)};
+ session.Save(entity);
+ tx.Commit();
+ }
+
+ using (ISession session = OpenSession())
+ {
+ // upload the result using DateTime type to verify it does not have the time-part.
+ var l = session.CreateSQLQuery("SELECT BirthDate AS bd FROM DomainClass")
+ .AddScalar("bd",NHibernateUtil.DateTime).List();
+ var actual = (DateTime) l[0];
+ var expected = new DateTime(1950, 2, 13);
+ Assert.That(actual, Is.EqualTo(expected));
+ }
+
+ using (ISession session = OpenSession())
+ using (ITransaction tx = session.BeginTransaction())
+ {
+ session.CreateQuery("delete from DomainClass").ExecuteUpdate();
+ tx.Commit();
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-05-18 05:31:15 UTC (rev 4336)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-05-18 19:37:55 UTC (rev 4337)
@@ -424,6 +424,8 @@
<Compile Include="NHSpecificTest\NH1775\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1776\Category.cs" />
<Compile Include="NHSpecificTest\NH1776\FilterQueryTwiceFixture.cs" />
+ <Compile Include="NHSpecificTest\NH1783\DomainClass.cs" />
+ <Compile Include="NHSpecificTest\NH1783\SampleTest.cs" />
<Compile Include="NHSpecificTest\NH645\HQLFunctionFixture.cs" />
<Compile Include="HQL\HQLFunctions.cs" />
<Compile Include="HQL\Human.cs" />
@@ -1816,6 +1818,7 @@
<EmbeddedResource Include="BulkManipulation\SimpleClass.hbm.xml" />
<EmbeddedResource Include="Ado\VerySimple.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH1783\Mappings.hbm.xml" />
<EmbeddedResource Include="LazyOneToOne\Person.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1747\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1159\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|