示例#1
0
 public XsdFileInformation(string assemblyName, string version, SchemaNameMap schemaNameMap, string[] schemaFiles)
 {
     AssemblyName  = assemblyName;
     Version       = version;
     SchemaNameMap = schemaNameMap;
     SchemaFiles   = schemaFiles;
 }
示例#2
0
 private void PopulateColumnNameMapList()
 {
     TryOrShowMessage(() =>
     {
         List <ListViewItem> selectedTables = new List <ListViewItem>();
         for (int i = 0; i < Form.ListViewTables.SelectedItems.Count; i++)
         {
             selectedTables.Add(Form.ListViewTables.SelectedItems[i]);
         }
         ListViewItem tableItem = selectedTables.FirstOrDefault();
         if (tableItem != null)
         {
             object tag       = tableItem.Tag;
             string tableName = tag != null ? ((TableNameToClassName)tableItem.Tag).TableName : tableItem.SubItems[0].Text;
             Form.ListViewColumns.Items.Clear();
             SchemaNameMap schemaNameMap = MappedSchemaDefinition.SchemaNameMap;
             ColumnNameToPropertyName[] columnNamesToProperties = schemaNameMap.ColumnNamesToPropertyNames.Where(c => c.TableName.Equals(tableName)).ToArray();
             foreach (ColumnNameToPropertyName map in columnNamesToProperties)
             {
                 ListViewItem columnItem = new ListViewItem(new string[] { map.PropertyName, map.ColumnName });
                 columnItem.Tag          = new ColumnNameToPropertyName {
                     TableName = tableName, ColumnName = map.ColumnName, PropertyName = map.PropertyName
                 };
                 Form.ListViewColumns.Items.Add(columnItem);
             }
         }
     });
 }
示例#3
0
            protected override void Act()
            {
                string suppliedLogicalName  = "X";
                string suppliedPhysicalName = "x";

                var provider = GetSchemaNameMapProvider(suppliedLogicalName, suppliedPhysicalName);

                _actualSchemaNameMapByLogicalName = provider.GetSchemaMapByLogicalName(suppliedLogicalName);
            }
        public DaoAssemblyGenerator(SchemaDefinition schema, SchemaNameMap nameMap, string workspacePath = null)
        {
            this.ReferenceAssemblies     = new Assembly[] { };
            this._referenceAssemblyPaths = new List <string>(AdHocCSharpCompiler.DefaultReferenceAssemblies);

            this.Workspace = workspacePath ?? ".";
            this.Schema    = schema;
            this.NameMap   = nameMap;
        }
示例#5
0
            protected override void Act()
            {
                _suppliedLogicalName  = "Logical Name";
                _suppliedPhysicalName = "PhysicalName";

                var provider = GetSchemaNameMapProvider(_suppliedLogicalName, _suppliedPhysicalName);

                _actualSchemaNameMapByPhysicalName   = provider.GetSchemaMapByPhysicalName(_suppliedPhysicalName);
                _actualSchemaNameMapByLogicalName    = provider.GetSchemaMapByLogicalName(_suppliedLogicalName);
                _actualSchemaNameMapByProperCaseName = provider.GetSchemaMapByProperCaseName(_actualSchemaNameMapByPhysicalName.ProperCaseName);
                _actualSchemaNameMapByUriSegment     = provider.GetSchemaMapByUriSegment(_actualSchemaNameMapByLogicalName.UriSegment);
            }
示例#6
0
        public void ExtensionExecuteSqlShouldInsert()
        {
            FileInfo      inputFile = new FileInfo("c:\\BamTestData\\Db_SillydatabaseNameMap_NormalizEDOnTypes.json");
            SchemaNameMap map       = SchemaNameMap.Load(inputFile.FullName);
            Database      db        = GetDatabase();

            "INSERT INTO {Customer} ({FirstName}, {LastName}, {Birthday}, {Age}) VALUES (@FirstName, @LastName, @Birthday, @Age)"
            .NamedFormat(new
            {
                Customer  = map.GetTableName("Customer"),
                FirstName = map.GetColumnName("Customer", "FirstName"),
                LastName  = map.GetColumnName("Customer", "LastName"),
                Birthday  = map.GetColumnName("Customer", "Birthday"),
                Age       = map.GetColumnName("Customer", "Age")
            })
            .ExecuteSql(db, new Dictionary <string, object>
            {
                { "FirstName", "Yan" },
                { "LastName", "Ipa" },
                { "Birthday", new DateTime(1976, 11, 1) },
                { "Age", 39 }
            });

            DynamicDatabase ddb         = new DynamicDatabase(db, map);
            var             queryFilter = new
            {
                From  = "Customer",
                Where = new
                {
                    FirstName = "Yan",
                    And       = new
                    {
                        LastName = "Ipa"
                    }
                }
            };
            IEnumerable <dynamic> results = ddb.Retrieve(queryFilter);

            Expect.IsTrue(results.Count() > 0);
            results.Each(d =>
            {
                Type type = d.GetType();
                PropertyInfo[] properties = type.GetProperties();
                properties.Each(prop =>
                {
                    OutLineFormat("{0}: {1}", ConsoleColor.DarkCyan, prop.Name, prop.GetValue(d));
                });
            });
            ddb.Delete(queryFilter);
            results = ddb.Retrieve(queryFilter);
            Expect.AreEqual(0, results.Count());
        }
 private SchemaNameMap SetSchemaNameMap()
 {
     NameMap = new SchemaNameMap();
     foreach (string tableName in FieldDescriptorsByTable.Keys)
     {
         NameMap.Set(new TableNameToClassName {
             TableName = tableName, ClassName = tableName.TrimNonLetters()
         });
         foreach (InterSystemsFieldDescriptor fieldDescriptor in FieldDescriptorsByTable[tableName])
         {
             NameMap.Set(new ColumnNameToPropertyName {
                 TableName = tableName, ColumnName = fieldDescriptor.SqlFieldName, PropertyName = fieldDescriptor.SqlFieldName.TrimNonLetters()
             });
         }
     }
     return(NameMap);
 }
示例#8
0
 private void PopulateTableNameMapList()
 {
     TryOrShowMessage(() =>
     {
         FormModelBinder.ForListView(Form.ListViewTables, (lv) =>
         {
             lv.Items.Clear();
             SchemaNameMap schemaNameMap = MappedSchemaDefinition.SchemaNameMap;
             schemaNameMap.TableNamesToClassNames.Each(map =>
             {
                 ListViewItem tableItem = new ListViewItem(new string[] { map.ClassName, map.TableName });
                 tableItem.Tag          = new TableNameToClassName {
                     TableName = map.TableName, ClassName = map.ClassName
                 };
                 lv.Items.Add(tableItem);
             });
         });
     });
 }
示例#9
0
 public DynamicDatabase(Database database, SchemaNameMap schemaNameMap = null)
 {
     this.Database         = database;
     this.ExceptionArbiter = new ExceptionArbiter();
     this.NameMap          = schemaNameMap;
 }
示例#10
0
        public void DynamicCrudTest()
        {
            FileInfo        inputFile = new FileInfo("c:\\BamTestData\\Db_SillydatabaseNameMap_NormalizEDOnTypes.json");
            SchemaNameMap   map       = SchemaNameMap.Load(inputFile.FullName);
            DynamicDatabase db        = new DynamicDatabase(GetDatabase(), map);
            var             bryan     = new
            {
                Type  = "Customer",
                Where = new
                {
                    FirstName = "Bam"
                }
            };

            db.Delete(bryan);
            var retrieved = db.RetrieveFirst(bryan);

            Expect.IsNull(retrieved);
            db.Create(Reflect.Combine(bryan, new
            {
                FirstName = "Bam",
                LastName  = "Apellanes",
                Birthday  = new DateTime(1976, 11, 1),
                Age       = 38
            }));
            db.Create(Reflect.Combine(bryan, new
            {
                FirstName = "Bam",
                LastName  = "Banana",
                Birthday  = new DateTime(1974, 1, 1),
                Age       = 10
            }));
            var query = new
            {
                TableName = "Customer",
                Where     = new
                {
                    FirstName = "Bam"
                }
            };

            dynamic[] results = db.Retrieve(query).ToArray();
            Expect.AreEqual(2, results.Length);
            OutLine("Results after insert", ConsoleColor.Cyan);
            foreach (object result in results)
            {
                OutLine(result.PropertiesToString(), ConsoleColor.Cyan);
            }
            db.Delete(new
            {
                Type  = "Customer",
                Where = new
                {
                    LastName = "Apellanes",
                    Or       = new
                    {
                        LastName = "Banana"
                    }
                }
            });
            results = db.Retrieve(query).ToArray();
            Expect.AreEqual(0, results.Length, "Should have got no results");
        }