public void RetrieveById()
        {
            ObjectZoneSync retrievedObject = (new ObjectZoneSyncDao()).RetrieveById((long)1);

            if (log.IsDebugEnabled)
            {
                log.Debug("Retrieved object: " + retrievedObject);
            }
            Console.WriteLine("Retrieved object: " + retrievedObject);

            using (ISession session = sessionFactory.OpenSession())
            {
                ObjectZoneSync comparisonObject = session.Get <ObjectZoneSync>((long)1);
                if (log.IsDebugEnabled)
                {
                    log.Debug("Comparison object: " + comparisonObject);
                }
                Console.WriteLine("Comparison object: " + comparisonObject);
                Assert.IsNotNull(comparisonObject);
                Assert.AreNotSame(retrievedObject, comparisonObject);
                Assert.AreEqual(retrievedObject.SifObjectName, comparisonObject.SifObjectName);
                Assert.AreEqual(retrievedObject.ZoneId, comparisonObject.ZoneId);
                Assert.AreEqual(retrievedObject.AgentId, comparisonObject.AgentId);
                Assert.AreEqual(retrievedObject.LastRequested, comparisonObject.LastRequested);
            }
        }
        public void Save()
        {
            ObjectZoneSync savedObject = new ObjectZoneSync {
                SifObjectName = "StudentPersonal", ZoneId = "SbpTestZone", AgentId = "SbpTestAgent", LastRequested = new DateTime(2011, 10, 3)
            };

            (new ObjectZoneSyncDao()).Save(savedObject);
            if (log.IsDebugEnabled)
            {
                log.Debug("Saved object: " + savedObject);
            }
            Console.WriteLine("Saved object: " + savedObject);

            using (ISession session = sessionFactory.OpenSession())
            {
                ObjectZoneSync comparisonObject = session.Get <ObjectZoneSync>(savedObject.Id);
                if (log.IsDebugEnabled)
                {
                    log.Debug("Comparison object: " + comparisonObject);
                }
                Console.WriteLine("Comparison object: " + comparisonObject);
                Assert.IsNotNull(comparisonObject);
                Assert.AreNotSame(savedObject, comparisonObject);
                Assert.AreEqual(savedObject.SifObjectName, comparisonObject.SifObjectName);
                Assert.AreEqual(savedObject.ZoneId, comparisonObject.ZoneId);
                Assert.AreEqual(savedObject.AgentId, comparisonObject.AgentId);
                Assert.AreEqual(savedObject.LastRequested, comparisonObject.LastRequested);
            }
        }
        public void RetrieveFail()
        {
            using (ISession session = sessionFactory.OpenSession())
            {
                ObjectZoneSync addedObject = new ObjectZoneSync {
                    SifObjectName = "SchoolInfo", ZoneId = "SbpTestZone", AgentId = "SbpTestAgent", LastRequested = new DateTime(2011, 10, 4)
                };
                session.Save(addedObject);
            }

            ObjectZoneSync retrievedObject = (new ObjectZoneSyncDao()).Retrieve("SchoolInfo", "SbpTestAgent", "SbpTestZone");
        }
        public void Retrieve()
        {
            ObjectZoneSync retrievedObject = (new ObjectZoneSyncDao()).Retrieve("SchoolInfo", "SbpTestAgent", "SbpTestZone");

            if (log.IsDebugEnabled)
            {
                log.Debug("Retrieved object: " + retrievedObject);
            }
            Console.WriteLine("Retrieved object: " + retrievedObject);
            Assert.AreEqual("SchoolInfo", retrievedObject.SifObjectName);
            Assert.AreEqual("SbpTestZone", retrievedObject.ZoneId);
            Assert.AreEqual("SbpTestAgent", retrievedObject.AgentId);
        }
        public void Delete()
        {
            ObjectZoneSync deletedObject = objectZoneSyncs[0];

            (new ObjectZoneSyncDao()).Delete(deletedObject);
            if (log.IsDebugEnabled)
            {
                log.Debug("Deleted object: " + deletedObject);
            }
            Console.WriteLine("Deleted object: " + deletedObject);

            using (ISession session = sessionFactory.OpenSession())
            {
                ICollection <ObjectZoneSync> objs = session.CreateCriteria(typeof(ObjectZoneSync)).List <ObjectZoneSync>();
                Assert.AreEqual(objectZoneSyncs.Length - 1, objs.Count);
            }
        }
        /// <see cref="Systemic.Sif.Sbp.Framework.Service.ISyncService.MarkAsSynced(string, string, string)">MarkAsSynced</see>
        public void MarkAsSynced(string sifObjectName, string agentId, string zoneId)
        {
            lock (locker)
            {
                ObjectZoneSync objectZoneSync = objectZoneSyncDao.Retrieve(sifObjectName, agentId, zoneId);

                if (objectZoneSync == null)
                {
                    objectZoneSync = new ObjectZoneSync {
                        SifObjectName = sifObjectName, ZoneId = zoneId, AgentId = agentId
                    };
                }

                objectZoneSync.LastRequested = DateTime.Now;
                objectZoneSyncDao.Save(objectZoneSync);
            }
        }
        public void MarkAsSyncedExisting()
        {
            (new SyncService()).MarkAsSynced("StudentSchoolEnrolment", "SbpTestAgent", "SbpTestZone");

            using (ISession session = sessionFactory.OpenSession())
            {
                ObjectZoneSync markedObject = session.Get <ObjectZoneSync>((long)1);
                if (log.IsDebugEnabled)
                {
                    log.Debug("Marked object: " + markedObject);
                }
                Console.WriteLine("Marked object: " + markedObject);
                Assert.IsNotNull(markedObject);
                Assert.AreEqual(markedObject.SifObjectName, "StudentSchoolEnrolment");
                Assert.AreEqual(markedObject.ZoneId, "SbpTestZone");
                Assert.AreEqual(markedObject.AgentId, "SbpTestAgent");
                Assert.AreNotEqual(markedObject.LastRequested, new DateTime(2011, 10, 1));
            }
        }
        public void MarkAsSyncedNew()
        {
            (new SyncService()).MarkAsSynced("StudentPersonal", "SbpTestAgent", "SbpTestZone");

            using (ISession session = sessionFactory.OpenSession())
            {
                ObjectZoneSync markedObject = session.Get <ObjectZoneSync>((long)3);
                if (log.IsDebugEnabled)
                {
                    log.Debug("Marked object: " + markedObject);
                }
                Console.WriteLine("Marked object: " + markedObject);
                Assert.IsNotNull(markedObject);
                Assert.AreEqual(markedObject.SifObjectName, "StudentPersonal");
                Assert.AreEqual(markedObject.ZoneId, "SbpTestZone");
                Assert.AreEqual(markedObject.AgentId, "SbpTestAgent");
                Assert.IsNotNull(markedObject.LastRequested);
            }
        }
        public void RetrieveNull()
        {
            ObjectZoneSync retrievedObject = (new ObjectZoneSyncDao()).Retrieve("FakeSifObject", "SbpTestAgent", "SbpTestZone");

            Assert.IsNull(retrievedObject);
        }