public IList <object[]> GetRawRevisions(Person person)
 {
     return(AuditReaderFactory.Get(Session).CreateQuery()
            .ForRevisionsOfEntity(typeof(PersonPhoto), false, true)
            .Add(AuditEntity.Property("Person").Eq(person))
            .GetResultList <object[]>());
 }
 public IList <Career> GetCareers(Person person, DateTime date)
 {
     return(AuditReaderFactory.Get(Session).CreateQuery()
            .ForEntitiesAtRevision(typeof(Career), GetRevisionNumberForDate(date))
            .Add(AuditEntity.Property("Person").Eq(person))
            .GetResultList <Career>());
 }
Beispiel #3
0
        public IList <AuditTrailDTO> GetEventCollectionRevisions <T>(Event e)
        {
            IList <object[]> objects = AuditReaderFactory.Get(Session).CreateQuery()
                                       .ForRevisionsOfEntity(typeof(T), false, true)
                                       .Add(AuditEntity.Property("Event").Eq(e))
                                       .GetResultList <object[]>();

            return(this.AddDifferences <T>(this.TransformToDto(objects)));
        }
Beispiel #4
0
        public IList <AuditTrailDTO> GetEventRevisions(Event e)
        {
            IList <object[]> objects = AuditReaderFactory.Get(Session).CreateQuery()
                                       .ForRevisionsOfEntity(typeof(Event), false, true)
                                       .Add(AuditEntity.Id().Eq(e.Id))
                                       .GetResultList <object[]>();

            return(this.AddDifferences <Event>(this.TransformToDto(objects)));
        }
Beispiel #5
0
        public int GetEventCount(DateTime date)
        {
            int revision = this.GetRevisionNumberForDate(date);

            return(AuditReaderFactory.Get(Session).CreateQuery()
                   .ForEntitiesAtRevision(typeof(Event), Convert.ToInt64(revision))
                   .Add(AuditEntity.Property("Archive").Eq(false))
                   .GetResultList().Count);
        }
 public IList <object[]> GetRawRevisions(Person person)
 {
     return(AuditReaderFactory.Get(Session).CreateQuery()
            .ForRevisionsOfEntity(typeof(Career), false, true)
            .Add(AuditEntity.Property("Person").Eq(person))
            // don't process audit changes before baseline entities were initialised; some career.organization and career.unit
            // fields return as proxies and throw 'object not found' exceptions.
            .Add(AuditEntity.RevisionNumber().Ge(100))
            .GetResultList <object[]>());
 }
        public IList <Person> GetPersons(DateTime date, ProfileStatus profileStatus)
        {
            int revision = this.GetRevisionNumberForDate(date);

            return(AuditReaderFactory.Get(Session).CreateQuery()
                   .ForEntitiesAtRevision(typeof(Person), Convert.ToInt64(revision))
                   .Add(AuditEntity.Property("ProfileStatus").Eq(profileStatus))
                   .Add(AuditEntity.Property("Archive").Eq(false))
                   .GetResultList <Person>());
        }
Beispiel #8
0
        public void BaseSetup()
        {
            cfg = new Configuration();
            addListeners();
            cfg.Configure();
            addMappings();
            var sf = cfg.BuildSessionFactory();

            Session     = sf.OpenSession();
            AuditReader = AuditReaderFactory.Get(Session);
            createDropSchema(true);
        }
        public IList <object[]> GetRawRevisions(Type type, RevisionType revisionType, DateTime?startDate, DateTime?endDate)
        {
            IAuditQuery q = AuditReaderFactory.Get(Session).CreateQuery()
                            .ForRevisionsOfEntity(type, false, true)
                            .Add(AuditEntity.RevisionType().Eq(revisionType))
                            .AddOrder(AuditEntity.RevisionProperty("REVTSTMP").Desc());

            if (startDate.HasValue && endDate.HasValue)
            {
                q = q.Add(AuditEntity.RevisionProperty("REVTSTMP").Between(startDate, endDate));
            }
            return(q.GetResultList <object[]>());
        }
Beispiel #10
0
        public void CanSerializeAndDeserializeCfg()
        {
            var serializedCfg = serializeCfg();             //serialize after use

            using (var sFactory = serializedCfg.BuildSessionFactory())
            {
                using (var s = sFactory.OpenSession())
                {
                    var auditReader = AuditReaderFactory.Get(s);
                    auditReader.Find <SetOwningEntity>(ingId, 1).References.Should().Have.SameSequenceAs(ed);
                }
            }
        }
Beispiel #11
0
        public IList <AuditTrailDTO> GetEventRelationshipRevisions(Event e)
        {
            IList <object[]> subjects = AuditReaderFactory.Get(Session).CreateQuery()
                                        .ForRevisionsOfEntity(typeof(EventRelationship), false, true)
                                        .Add(AuditEntity.Property("SubjectEvent").Eq(e))
                                        .GetResultList <object[]>();

            IList <object[]> objects = AuditReaderFactory.Get(Session).CreateQuery()
                                       .ForRevisionsOfEntity(typeof(EventRelationship), false, true)
                                       .Add(AuditEntity.Property("ObjectEvent").Eq(e))
                                       .GetResultList <object[]>();

            return(this.AddDifferences <EventRelationship>(this.TransformToDto(subjects.Concat(objects).ToList())));
        }
        public IList <object[]> GetRawRevisions(Person person)
        {
            IList <object[]> asSubject = AuditReaderFactory.Get(Session).CreateQuery()
                                         .ForRevisionsOfEntity(typeof(ActionTaken), false, true)
                                         .Add(AuditEntity.Property("SubjectPerson").Eq(person))
                                         .GetResultList <object[]>();

            IList <object[]> asObject = AuditReaderFactory.Get(Session).CreateQuery()
                                        .ForRevisionsOfEntity(typeof(ActionTaken), false, true)
                                        .Add(AuditEntity.Property("ObjectPerson").Eq(person))
                                        .GetResultList <object[]>();

            return(asSubject.Concat(asObject).ToList <object[]>());
        }
Beispiel #13
0
        public void CanSerializeAndDeserializeCfgBetweenProcesses()
        {
            AuditConfiguration.Remove(serializeCfg());      //simulates removal of static data (between processes)
            var serializedCfg = serializeCfg();             //serialize after use

            using (var sFactory = serializedCfg.BuildSessionFactory())
            {
                using (var s = sFactory.OpenSession())
                {
                    var auditReader = AuditReaderFactory.Get(s);
                    auditReader.Find <SetOwningEntity>(ingId, 1).References.Should().Have.SameSequenceAs(ed);
                }
            }
        }
Beispiel #14
0
 private static void PrintAuditedEntities <T>(ISessionFactory sf) where T : Entity
 {
     Console.WriteLine("Chenges on " + typeof(T).Name);
     using (ISession s = sf.OpenSession())
     {
         using (ITransaction tx = s.BeginTransaction())
         {
             IAuditReader auditer    = AuditReaderFactory.Get(s);
             IList        resultList = auditer.CreateQuery().ForRevisionsOfEntity(typeof(T), true, true).GetResultList();
             foreach (object entity in resultList)
             {
                 Console.WriteLine(entity);
             }
             tx.Commit();
         }
     }
     Console.WriteLine("---------------");
 }
Beispiel #15
0
 private static void PrintCustomerAtSpecificRevision(ISessionFactory sf, int revision)
 {
     Console.WriteLine("Customer at revision {0}", revision);
     using (ISession s = sf.OpenSession())
     {
         using (ITransaction tx = s.BeginTransaction())
         {
             IAuditReader auditer    = AuditReaderFactory.Get(s);
             IList        resultList = auditer.CreateQuery().ForEntitiesAtRevision(typeof(Customer), revision).GetResultList();
             foreach (object entity in resultList)
             {
                 Console.WriteLine(entity);
             }
             tx.Commit();
         }
     }
     Console.WriteLine("---------------");
 }
Beispiel #16
0
 private static void PrintAuditEntitiesInfo <T>(ISessionFactory sf) where T : Entity
 {
     using (ISession s = sf.OpenSession())
     {
         using (ITransaction tx = s.BeginTransaction())
         {
             IAuditReader auditer    = AuditReaderFactory.Get(s);
             IList        resultList = auditer.CreateQuery().ForRevisionsOfEntity(typeof(T), false, true).GetResultList();
             foreach (EntityRevisionInfo <object> revInfo in ToRevisionInfo <object>(resultList))
             {
                 Console.WriteLine("{0} {1} Rev={2} Timestamp={3:o}", revInfo.Operation, revInfo.EntityRevision, revInfo.RevisionId, revInfo.Timestamp);
                 Console.WriteLine("###########################");
             }
             tx.Commit();
         }
     }
     Console.WriteLine("---------------");
 }
Beispiel #17
0
        public T GetRevision(System.Type tip, long Id, long VersionId)
        {
            IAuditReader auditReader = AuditReaderFactory.Get(Session);

            return(auditReader.Find <T>(tip, Id, VersionId));
        }
Beispiel #18
0
        public IList GetAllRevisionIds(DomainObject entity)
        {
            IAuditReader auditReader = AuditReaderFactory.Get(Session);

            return(auditReader.GetRevisions(entity.GetType(), entity.id));
        }