public void MultiSync_InsertBase() { using (var container = new RhetosTestContainer()) { var deleteTables = new[] { "MultiSync", "Base1", "Base2" }; container.Resolve <ISqlExecuter>().ExecuteSql(deleteTables.Select(t => "DELETE FROM TestComputedFrom." + t)); var repository = container.Resolve <Common.DomRepository>(); Assert.AreEqual("", TestUtility.DumpSorted(repository.TestComputedFrom.MultiSync.Query(), Dump)); var b = new TestComputedFrom.Base1 { ID = Guid.NewGuid(), Name1 = "b1" }; repository.TestComputedFrom.Base1.Insert(new[] { b }); container.Resolve <Common.ExecutionContext>().EntityFrameworkContext.ClearCache(); Assert.AreEqual("b1 b1a b1b ", TestUtility.DumpSorted(repository.TestComputedFrom.MultiSync.Query().ToList(), Dump)); var ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(container.Resolve <ISqlExecuter>())); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(container.Resolve <ISqlExecuter>())); ms.Start = new DateTime(2001, 2, 3); ms.LastModifiedName1bx = new DateTime(2001, 2, 3); repository.TestComputedFrom.MultiSync.Update(new[] { ms }); container.Resolve <Common.ExecutionContext>().EntityFrameworkContext.ClearCache(); ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(container.Resolve <ISqlExecuter>()), false); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(container.Resolve <ISqlExecuter>()), false); b.Info = "xxx"; repository.TestComputedFrom.Base1.Update(new[] { b }); container.Resolve <Common.ExecutionContext>().EntityFrameworkContext.ClearCache(); ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(container.Resolve <ISqlExecuter>()), false); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(container.Resolve <ISqlExecuter>()), false); b.Name1 = "b1new"; repository.TestComputedFrom.Base1.Update(new[] { b }); container.Resolve <Common.ExecutionContext>().EntityFrameworkContext.ClearCache(); Assert.AreEqual("b1new b1newa b1newb ", TestUtility.DumpSorted(repository.TestComputedFrom.MultiSync.Query().ToList(), Dump)); ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(container.Resolve <ISqlExecuter>()), false); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(container.Resolve <ISqlExecuter>())); } }
public void MultiSync_InsertBase() { using (var executionContext = new CommonTestExecutionContext()) { var deleteTables = new[] { "MultiSync", "Base1", "Base2" }; executionContext.SqlExecuter.ExecuteSql(deleteTables.Select(t => "DELETE FROM TestComputedFrom." + t)); var repository = new Common.DomRepository(executionContext); Assert.AreEqual("", TestUtility.DumpSorted(repository.TestComputedFrom.MultiSync.All(), Dump)); var b = new TestComputedFrom.Base1 { ID = Guid.NewGuid(), Name1 = "b1" }; repository.TestComputedFrom.Base1.Insert(new[] { b }); executionContext.NHibernateSession.Clear(); Assert.AreEqual("b1 b1a b1b ", TestUtility.DumpSorted(repository.TestComputedFrom.MultiSync.All(), Dump)); var ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(executionContext.SqlExecuter)); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(executionContext.SqlExecuter)); ms.Start = new DateTime(2001, 2, 3); ms.LastModifiedName1bx = new DateTime(2001, 2, 3); repository.TestComputedFrom.MultiSync.Update(new[] { ms }); executionContext.NHibernateSession.Clear(); ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(executionContext.SqlExecuter), false); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(executionContext.SqlExecuter), false); b.Info = "xxx"; repository.TestComputedFrom.Base1.Update(new[] { b }); executionContext.NHibernateSession.Clear(); ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(executionContext.SqlExecuter), false); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(executionContext.SqlExecuter), false); b.Name1 = "b1new"; repository.TestComputedFrom.Base1.Update(new[] { b }); executionContext.NHibernateSession.Clear(); Assert.AreEqual("b1new b1newa b1newb ", TestUtility.DumpSorted(repository.TestComputedFrom.MultiSync.All(), Dump)); ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(executionContext.SqlExecuter), false); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(executionContext.SqlExecuter)); } }
public void MultiSync_InsertBase() { using (var container = new RhetosTestContainer()) { var deleteTables = new[] { "MultiSync", "Base1", "Base2" }; container.Resolve<ISqlExecuter>().ExecuteSql(deleteTables.Select(t => "DELETE FROM TestComputedFrom." + t)); var repository = container.Resolve<Common.DomRepository>(); Assert.AreEqual("", TestUtility.DumpSorted(repository.TestComputedFrom.MultiSync.Query(), Dump)); var b = new TestComputedFrom.Base1 { ID = Guid.NewGuid(), Name1 = "b1" }; repository.TestComputedFrom.Base1.Insert(new[] { b }); container.Resolve<Common.ExecutionContext>().EntityFrameworkContext.ClearCache(); Assert.AreEqual("b1 b1a b1b ", TestUtility.DumpSorted(repository.TestComputedFrom.MultiSync.Query().ToList(), Dump)); var ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(container.Resolve<ISqlExecuter>())); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(container.Resolve<ISqlExecuter>())); ms.Start = new DateTime(2001, 2, 3); ms.LastModifiedName1bx = new DateTime(2001, 2, 3); repository.TestComputedFrom.MultiSync.Update(new[] { ms }); container.Resolve<Common.ExecutionContext>().EntityFrameworkContext.ClearCache(); ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(container.Resolve<ISqlExecuter>()), false); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(container.Resolve<ISqlExecuter>()), false); b.Info = "xxx"; repository.TestComputedFrom.Base1.Update(new[] { b }); container.Resolve<Common.ExecutionContext>().EntityFrameworkContext.ClearCache(); ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(container.Resolve<ISqlExecuter>()), false); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(container.Resolve<ISqlExecuter>()), false); b.Name1 = "b1new"; repository.TestComputedFrom.Base1.Update(new[] { b }); container.Resolve<Common.ExecutionContext>().EntityFrameworkContext.ClearCache(); Assert.AreEqual("b1new b1newa b1newb ", TestUtility.DumpSorted(repository.TestComputedFrom.MultiSync.Query().ToList(), Dump)); ms = repository.TestComputedFrom.MultiSync.All().Single(); AssertIsRecently(ms.Start, SqlUtility.GetDatabaseTime(container.Resolve<ISqlExecuter>()), false); AssertIsRecently(ms.LastModifiedName1bx, SqlUtility.GetDatabaseTime(container.Resolve<ISqlExecuter>())); } }