예제 #1
0
        public void Can_Write_And_Read_DateTimeZone_Stored_As_String()
        {
            var timeZone  = DateTimeZoneProviders.Tzdb.GetZoneOrNull("Australia/West");
            var testEvent = new DateTimeZoneTestEntity
            {
                Description        = "Can_Write_And_Read_DateTimeZone_Stored_As_String",
                StartDateTimeZone  = timeZone,
                FinishDateTimeZone = timeZone
            };

            using (ISession session = SessionFactory.OpenSession())
                using (ITransaction transaction = session.BeginTransaction())
                {
                    session.Save(testEvent);
                    transaction.Commit();
                }

            DateTimeZoneTestEntity retrievedEvent;

            using (ISession session = SessionFactory.OpenSession())
                using (ITransaction transaction = session.BeginTransaction())
                {
                    retrievedEvent = session.Get <DateTimeZoneTestEntity>(testEvent.Id);
                    transaction.Commit();
                }

            Assert.That(retrievedEvent.StartDateTimeZone, Is.EqualTo(testEvent.StartDateTimeZone));
            Assert.That(retrievedEvent.FinishDateTimeZone, Is.EqualTo(testEvent.FinishDateTimeZone));
            Assert.That(retrievedEvent, Is.EqualTo(testEvent));
        }
예제 #2
0
 public void Can_Write_DateTimeZone_Stored_As_String()
 {
     using (ISession session = SessionFactory.OpenSession())
         using (ITransaction transaction = session.BeginTransaction())
         {
             var testEvent = new DateTimeZoneTestEntity
             {
                 Description        = "Can_Write_DateTimeZone_Stored_As_String",
                 StartDateTimeZone  = DateTimeZoneProviders.Tzdb.GetSystemDefault(),
                 FinishDateTimeZone = DateTimeZoneProviders.Tzdb.GetSystemDefault()
             };
             session.Save(testEvent);
             transaction.Commit();
             Assert.That(testEvent.Id, Is.Not.Null);
         }
 }
예제 #3
0
        public void Can_Query_By_Equals_DateTimeZone_Stored_As_String()
        {
            var systemTimeZone = DateTimeZoneProviders.Tzdb.GetSystemDefault();
            var spainTimeZone  = DateTimeZoneProviders.Tzdb.GetZoneOrNull("Europe/Madrid");

            var testEvent = new DateTimeZoneTestEntity
            {
                Description        = "Can_Query_By_Equals_DateTimeZone_Stored_As_String",
                StartDateTimeZone  = systemTimeZone,
                FinishDateTimeZone = spainTimeZone
            };

            using (ISession session = SessionFactory.OpenSession())
                using (ITransaction transaction = session.BeginTransaction())
                {
                    session.Save(testEvent);
                    transaction.Commit();
                }

            using (ISession session = SessionFactory.OpenSession())
                using (ITransaction transaction = session.BeginTransaction())
                {
                    var query          = session.Query <DateTimeZoneTestEntity>().Where(x => x.StartDateTimeZone == systemTimeZone);
                    var retrievedEvent = query.SingleOrDefault();
                    transaction.Commit();
                    Assert.That(testEvent, Is.Not.Null);
                    Assert.That(testEvent, Is.EqualTo(retrievedEvent));
                }

            using (ISession session = SessionFactory.OpenSession())
                using (ITransaction transaction = session.BeginTransaction())
                {
                    var macthTimeZone  = DateTimeZoneProviders.Tzdb.GetZoneOrNull("Europe/Madrid");
                    var query          = session.Query <DateTimeZoneTestEntity>().Where(x => x.FinishDateTimeZone == macthTimeZone);
                    var retrievedEvent = query.SingleOrDefault();
                    transaction.Commit();
                    Assert.That(testEvent, Is.Not.Null);
                    Assert.That(testEvent, Is.EqualTo(retrievedEvent));
                }
        }