public void MapFieldsRevision <T>(IDataRecord reader, PropertyInfo[] properties, string entityTypeName,
                                          EntityRevision <T> revision) where T : BaseEntity, new()
        {
            revision.Id           = Convert.ToInt64(reader[entityTypeName.GetDelimitedName() + "_id"]);
            revision.Revision     = Convert.ToInt32(reader["revision"]);
            revision.RevisionedBy = Convert.ToInt64(reader["revisioned_by"]);
            revision.RevisionedAt = Convert.ToDateTime(reader["revisioned_at"]);

            revision.Entity = new T();
            MapFields(reader, properties, entityTypeName, revision.Entity);
        }
Exemple #2
0
        public static EntityRevision <Integration> GetIntegrationRevisionTwo()
        {
            var revision = new EntityRevision <Integration>();

            revision.Id           = LongOne;
            revision.Entity       = GetIntegration();
            revision.Revision     = Two;
            revision.RevisionedAt = DateTimeOne;
            revision.RevisionedBy = LongOne;

            return(revision);
        }
Exemple #3
0
        public static List <EntityRevision <Integration> > GetOrganizationOneIntegrationOneRevisions()
        {
            var list     = new List <EntityRevision <Integration> >();
            var revision = new EntityRevision <Integration>();

            revision.Id           = LongOne;
            revision.Revision     = One;
            revision.RevisionedAt = DateTimeOne;
            revision.Entity       = GetOrganizationOneIntegrationOne();

            list.Add(revision);

            return(list);
        }
Exemple #4
0
        void AddEntity(EntityInfo entity)
        {
            // add to entity collection
            proj.Entities.Add(entity);
            // create a entity revision for it
            EntityRevision er = new EntityRevision();

            er.EntityId = entity.EntityId;
            er.EntityRevisionTypeCode = EntityRevisionTypeCodes.Add;
            if (currentRevision.EntityRevisions == null)
            {
                currentRevision.EntityRevisions = new List <EntityRevision>();
            }

            currentRevision.EntityRevisions.Add(er);
        }
        public void EntityRevision()
        {
            var entity = new EntityRevision <BaseEntity>();

            var entityType = entity.GetType();
            var properties = entityType.GetProperties();

            AssertLongProperty(properties, "Id", entity.Id);
            AssertIntegerProperty(properties, "Revision", entity.Revision);
            AssertLongProperty(properties, "RevisionedBy", entity.RevisionedBy);
            AssertDateTimeProperty(properties, "RevisionedAt", entity.RevisionedAt);

            var propFirstName = properties.First(x => x.Name == "Entity");

            propFirstName.PropertyType.Name.ShouldBe(nameof(BaseEntity));
        }
Exemple #6
0
        public void Verify_MapFields_Revision()
        {
            var organization   = new Organization();
            var revisionAt     = DateTime.UtcNow;
            var revision       = new EntityRevision <Organization>();
            var mockDataReader = GetMockDataReaderForMapFieldsRevisions(true, revisionAt);
            var allProperties  = SystemUnderTest.GetAllProperties(organization.GetType());
            var entityTypeName = SystemUnderTest.GetTableName(organization.GetType());

            SystemUnderTest.MapFieldsRevision(mockDataReader.Object, allProperties, entityTypeName, revision);

            Assert.AreEqual(revision.Entity.Email, "*****@*****.**");
            Assert.AreEqual(revision.Entity.Description, "this is test case");
            Assert.IsTrue(revision.Entity.IsActive);
            Assert.AreEqual(revision.Id, 1);
            Assert.AreEqual(revision.Revision, 2);
            Assert.AreEqual(revision.RevisionedAt, revisionAt);
        }
Exemple #7
0
        protected async Task <List <EntityRevision <T> > > ExecuteSqlReturningRevisionList <T>(TCommand command, string sql, List <TParameter> parameters) where T : BaseEntity, new()
        {
            var items = new List <EntityRevision <T> >();

            var properties     = typeof(T).GetProperties();
            var entityTypeName = typeof(T).Name;

            command.CommandText = sql;

            if (parameters != null)
            {
                for (var i = 0; i < parameters.Count; i++)
                {
                    var parameter = parameters[i];
                    command.Parameters.Add(parameter);
                }
            }

            command.Prepare();

            using (var reader = await command.ExecuteReaderAsync())
            {
                if (!reader.HasRows)
                {
                    return(items);
                }

                while (reader.Read())
                {
                    var revision = new EntityRevision <T>();
                    _entityUtils.MapFieldsRevision(reader, properties, entityTypeName, revision);
                    items.Add(revision);
                }
            }

            return(items);
        }