public virtual void Test2Objects()
        {
            IOdb odb = null;

            DeleteBase(Base);
            try
            {
                odb = Open(Base);
                odb.TriggerManagerFor <ObjectWithAutoIncrementId>().AddInsertTrigger(new LocalAutoIncrementTrigger());
                var o = new ObjectWithAutoIncrementId("Object 1");
                odb.Store(o);
                AssertEquals(1, o.GetId());
                odb.Close();
                odb = Open(Base);
                odb.TriggerManagerFor <ObjectWithAutoIncrementId>().AddInsertTrigger(new LocalAutoIncrementTrigger());
                o = new ObjectWithAutoIncrementId("Object 2");
                odb.Store(o);
                AssertEquals(2, o.GetId());
            }
            finally
            {
                if (odb != null)
                {
                    odb.Close();
                }
            }
        }
        public virtual void Test1000Objects()
        {
            IOdb odb = null;

            DeleteBase(Base);
            try
            {
                odb = Open(Base);
                odb.TriggerManagerFor <ObjectWithAutoIncrementId>().AddInsertTrigger(new LocalAutoIncrementTrigger());
                for (var i = 0; i < 1000; i++)
                {
                    var o = new ObjectWithAutoIncrementId("Object " + (i + 1));
                    odb.Store(o);
                    AssertEquals(i + 1, o.GetId());
                }
                odb.Close();
                odb = Open(Base);
                odb.TriggerManagerFor <ObjectWithAutoIncrementId>().AddInsertTrigger(new LocalAutoIncrementTrigger());
                for (var i = 0; i < 1000; i++)
                {
                    var o = new ObjectWithAutoIncrementId("Object - bis - " + (i + 1));
                    odb.Store(o);
                    AssertEquals(1000 + i + 1, o.GetId());
                }
                odb.Close();
            }
            finally
            {
            }
        }
Пример #3
0
        public virtual void Test1()
        {
            IOdb odb      = null;
            var  baseName = GetBaseName();

            DeleteBase(baseName);
            var myTrigger = new MyTriggerBefore();

            try
            {
                odb = Open(baseName);
                odb.TriggerManagerFor <SimpleObject>().AddInsertTrigger(myTrigger);
                var so  = new SimpleObject(5);
                var oid = odb.Store(so);
                AssertEquals(6, so.GetId());
                odb.Close();
                odb = Open(baseName);
                var so2 = (SimpleObject)odb.GetObjectFromId(oid);
                AssertEquals(6, so2.GetId());
            }
            finally
            {
                if (odb != null)
                {
                    odb.Close();
                }
            }
            DeleteBase(baseName);
        }
Пример #4
0
        public virtual void TestSelectTrigger()
        {
            IOdb odb = null;

            DeleteBase("trigger.ndb");
            var myTrigger = new MySelectTrigger();

            try
            {
                odb = Open("trigger.ndb");
                var f1      = new VO.Login.Function("function1");
                var f2      = new VO.Login.Function("function2");
                var profile = new Profile("profile1", f1);
                var user    = new User("oli", "*****@*****.**", profile);
                odb.Store(user);
                odb.Store(f2);
            }
            finally
            {
                if (odb != null)
                {
                    odb.Close();
                }
            }
            odb = Open("trigger.ndb");
            odb.TriggerManagerFor <VO.Login.Function>().AddSelectTrigger(myTrigger);
            var query     = odb.Query <VO.Login.Function>();
            var functions = query.Execute <VO.Login.Function>();

            odb.Close();
            DeleteBase("trigger.ndb");
            AssertEquals(2, functions.Count);
            AssertEquals(2, myTrigger.nbCalls);
        }
Пример #5
0
        public virtual void Test2()
        {
            IOdb odb = null;

            DeleteBase("trigger.ndb");
            var myTrigger = new MyTrigger();

            try
            {
                odb = Open("trigger.ndb");
                odb.TriggerManagerFor <VO.Login.Function>().AddInsertTrigger(myTrigger);
                var f1      = new VO.Login.Function("function1");
                var f2      = new VO.Login.Function("function2");
                var profile = new Profile("profile1", f1);
                var user    = new User("oli", "*****@*****.**", profile);
                odb.Store(user);
                odb.Store(f2);
            }
            finally
            {
                if (odb != null)
                {
                    odb.Close();
                }
            }
            odb = Open("trigger.ndb");
            odb.Close();
            DeleteBase("trigger.ndb");
            AssertEquals(2, myTrigger.nbInsertsBefore);
            AssertEquals(2, myTrigger.nbInsertsAfter);
        }
Пример #6
0
        public virtual void Test2UpdateTriggers()
        {
            if (!testNewFeature)
            {
                return;
            }
            IOdb odb      = null;
            var  baseName = GetBaseName();

            DeleteBase(baseName);
            var myTrigger = new MyUpdateTriggerBefore();

            try
            {
                odb = Open(baseName);
                var so  = new SimpleObject(5);
                var oid = odb.Store(so);
                AssertEquals(5, so.GetId());
                odb.Close();
                odb = Open(baseName);
                odb.TriggerManagerFor <SimpleObject>().AddUpdateTrigger(myTrigger);
                var so2 = (SimpleObject)odb.GetObjectFromId(oid);
                AssertEquals(5, so2.GetId());
                odb.Store(so2);
                odb.Close();
                AssertEquals(6, so2.GetId());
                odb = Open(baseName);
                so2 = (SimpleObject)odb.GetObjectFromId(oid);
                AssertEquals(6, so2.GetId());
            }
            finally
            {
                if (odb != null && !odb.IsClosed())
                {
                    odb.Close();
                }
            }
            DeleteBase(baseName);
        }