Exemple #1
0
        private void SaveInsertClass(DataSet dataset, string projectFolder, string namespaceName, string projectName)
        {
            var documents = InsertProvider.Create(dataset, namespaceName, projectName);

            foreach (var document in documents)
            {
                var filename = $"{document.Name}Insert.vb";
                var folder   = $"{document.Name}Repository";
                var path     = $@"{projectFolder}\{folder}\{filename}";

                document.Save(path);
            }
        }
        public void GetFieldsTest()
        {
            var type      = typeof(AttributeModel);
            var tableInfo = new DbTableInfo(type).SetFields(
                new DbFieldInfo("IntProperty", "IntKey"),
                new DbFieldInfo("NotField").SetNotDbField());
            var test    = new InsertProvider <AttributeModel>(tableInfo, null);
            var actual1 = test.GetFields(null);
            var actual2 = test.GetFields("ID,IntProperty");

            Assert.AreEqual("ID,StringProperty,IntKey", actual1);
            Assert.AreEqual("ID,IntKey", actual2);
        }
        public void GetInsertFieldsTest2()
        {
            var type      = typeof(TestModel);
            var tableInfo = new DbTableInfo(type).SetFields(
                new DbFieldInfo("IntProperty", "IntField"),
                new DbFieldInfo("NotField").SetNotDbField(),
                new DbFieldInfo("ID").SetPrimaryKey().SetAutoIncrement());
            var insert = new InsertProvider <TestModel>(tableInfo, new SqlCache()).Fields("IntProperty");

            var actual2   = insert.GetSQL();
            var expected2 = @"INSERT INTO TestModel(IntField) VALUES(@IntProperty)";

            Assert.AreEqual(expected2, actual2);
        }
        public void CheckAutoIncrementTest()
        {
            var type      = typeof(TestModel);
            var tableInfo = new DbTableInfo(type).SetFields(
                new DbFieldInfo("ID").SetAutoIncrement());

            var test1 = new InsertProvider <TestModel>(tableInfo, new SqlCache());
            var test2 = new InsertProvider <AttributeModel>(null, new SqlCache());

            var intProperty = type.GetProperties().Where(p => p.Name == "IntProperty").FirstOrDefault();
            var idProperty  = type.GetProperties().Where(p => p.Name == "ID").FirstOrDefault();
            var attProperty = typeof(AttributeModel).GetProperties().Where(p => p.Name == "ID").FirstOrDefault();

            Assert.IsFalse(test1.CheckAutoIncrement(intProperty));
            Assert.IsTrue(test1.CheckAutoIncrement(idProperty));
            Assert.IsTrue(test2.CheckAutoIncrement(attProperty));
        }
        public void MakeFieldsTest()
        {
            var type      = typeof(AttributeModel);
            var tableInfo = new DbTableInfo(type).SetFields(
                new DbFieldInfo("IntProperty", "IntKey"),
                new DbFieldInfo("NotField").SetNotDbField(),
                new DbFieldInfo("ID").SetPrimaryKey().SetAutoIncrement());

            var insert  = new InsertProvider <AttributeModel>(null, null);
            var insert2 = new InsertProvider <TestModel>(tableInfo, null);
            var test1   = insert.MakeEmptyFields();
            var test2   = insert2.MakeEmptyFields();
            var test3   = insert.Fields("IntProperty").MakeFields();
            var test4   = insert2.Fields("IntProperty").MakeFields();

            Assert.AreEqual("StringProperty,IntField", test1.Fields);
            Assert.AreEqual("@StringProperty,@IntProperty", test1.Values);
            Assert.AreEqual("StringProperty,IntKey", test2.Fields);
            Assert.AreEqual("@StringProperty,@IntProperty", test2.Values);
            Assert.AreEqual("IntField", test3.Fields);
            Assert.AreEqual("@IntProperty", test3.Values);
            Assert.AreEqual("IntKey", test4.Fields);
            Assert.AreEqual("@IntProperty", test4.Values);
        }