public void SettingTableName_ReturnsProperName()
            {
                AutoClassMapper <Foo> m = GetMapper <Foo>();

                m.Table("Barz");
                Assert.Equal("Barz", m.TableName);
            }
            public void Sets_IdPropertyToKeyWhenFoundInClass()
            {
                AutoClassMapper <IdIsSecond> m = GetMapper <IdIsSecond>();
                var map = m.Properties.Single(p => p.KeyType == KeyType.Guid);

                Assert.True(map.ColumnName == "Id");
            }
        private static void ValidateAndNormalizeParams <TDatabaseModel>(HashSet <SqlWhereParameter> parameters, SqlGeneratorImpl sqlGenerator)
            where TDatabaseModel : BaseEntity
        {
            var tableMapper = new AutoClassMapper <TDatabaseModel>();
            var tableName   = sqlGenerator.GetTableName(tableMapper);

            PropertyInfo[] validationPropertyInfos = typeof(TDatabaseModel).GetProperties();
            foreach (var param in parameters.Where(p => p.IsNormalized == false))
            {
                foreach (var validationProperty in validationPropertyInfos)
                {
                    if (!String.Equals(param.PropertyName, validationProperty.Name, StringComparison.OrdinalIgnoreCase))
                    {
                        continue;
                    }
                    if (param.CandidateNames != null && param.CandidateNames.Count > 0 && param.Operator == ExpressionParsingOperator.CandidatesContain)
                    {
                        if (param.CandidateNames.Any(x => !String.Equals(x, validationProperty.Name, StringComparison.OrdinalIgnoreCase)))
                        {
                            continue;
                        }
                        param.CandidateNames = param.CandidateNames.Select(x => $"{tableName}.{sqlGenerator.GetColumnName(new AutoClassMapper<TDatabaseModel>(), x, false)}").ToList();
                    }
                    param.PropertyName = $"{tableName}.{sqlGenerator.GetColumnName(new AutoClassMapper<TDatabaseModel>(), param.PropertyName, false)}";
                    param.IsNormalized = true;
                    break;
                }
            }
        }
Ejemplo n.º 4
0
            public void Sets_IdPropertyToKeyWhenFirstProperty()
            {
                AutoClassMapper <IdIsFirst> m = GetMapper <IdIsFirst>();
                var map = m.Properties.Single(p => p.KeyType == KeyType.Guid);

                Assert.IsTrue(map.ColumnName == "Id");
            }
Ejemplo n.º 5
0
            public void Sets_IdFirstPropertyEndingInIdWhenNoIdPropertyFound()
            {
                AutoClassMapper <IdDoesNotExist> m = GetMapper <IdDoesNotExist>();
                var map = m.Properties.Single(p => p.KeyType == KeyType.Guid);

                Assert.IsTrue(map.ColumnName == "SomeId");
            }
Ejemplo n.º 6
0
        public void SinglePrimaryKey()
        {
            var mapper = new AutoClassMapper <TestClass4>();

            Assert.Equal("key_1", mapper.Properties[0].ColumnName);
            Assert.Equal(KeyType.PrimaryKey, mapper.Properties[0].KeyType);

            Assert.Equal(1, mapper.Properties.Count(p => p.KeyType == KeyType.PrimaryKey));
        }
Ejemplo n.º 7
0
        public void Schema()
        {
            var mapper = new AutoClassMapper <TestClass>();

            Assert.Equal("pb", mapper.SchemaName);

            var mapper2 = new AutoClassMapper <TestClass2>();

            Assert.Null(mapper2.SchemaName);
        }
Ejemplo n.º 8
0
        public void Table()
        {
            var mapper = new AutoClassMapper <TestClass>();

            Assert.Equal("test_class", mapper.TableName);

            var mapper2 = new AutoClassMapper <TestClass2>();

            Assert.Equal("TestClass2", mapper2.TableName);
        }
Ejemplo n.º 9
0
        public void CompositePrimaryKey()
        {
            var mapper = new AutoClassMapper <TestClass3>();

            Assert.Equal("key_1", mapper.Properties[0].ColumnName);
            Assert.Equal(KeyType.PrimaryKey, mapper.Properties[0].KeyType);
            Assert.Equal("key_2", mapper.Properties[1].ColumnName);
            Assert.Equal(KeyType.PrimaryKey, mapper.Properties[1].KeyType);

            Assert.Equal(2, mapper.Properties.Count(p => p.KeyType == KeyType.PrimaryKey));
        }
            public void Constructor_ReturnsProperName()
            {
                AutoClassMapper <Foo> m = GetMapper <Foo>();

                Assert.Equal("Foo", m.TableName);
            }
Ejemplo n.º 11
0
        public void ColumnPrefix()
        {
            var mapper = new AutoClassMapper <TestClass>();

            Assert.Equal("b_Id", mapper.Properties.First().ColumnName);
        }