/* ==================================================================================================== Fill Data */ private static void CreateData(DataSet dataSet, RepositorySchemaData schema) { var propertyTypes = dataSet.Tables[TableName.PropertyTypes]; foreach (var propertyType in schema.PropertyTypes) { var row = propertyTypes.NewRow(); SetPropertyTypeRow(row, propertyType); propertyTypes.Rows.Add(row); } var nodeTypes = dataSet.Tables[TableName.NodeTypes]; foreach (var nodeType in schema.NodeTypes) { var row = nodeTypes.NewRow(); SetNodeTypeRow(row, nodeType, schema.NodeTypes); nodeTypes.Rows.Add(row); } var contentListTypes = dataSet.Tables[TableName.ContentListTypes]; foreach (var contentListType in schema.ContentListTypes) { var row = contentListTypes.NewRow(); SetContentListTypeRow(row, contentListType); contentListTypes.Rows.Add(row); } }
public override async Task WriteSchemaAsync(RepositorySchemaData schema) { var propertyTypes = schema.PropertyTypes.Where(x => x.Id == 0).ToArray(); if (propertyTypes.Any()) { var lastId = schema.PropertyTypes.Max(x => x.Id); foreach (var propertyType in propertyTypes) { propertyType.Id = ++lastId; } } var nodeTypes = schema.NodeTypes.Where(x => x.Id == 0).ToArray(); if (nodeTypes.Any()) { var lastId = schema.NodeTypes.Max(x => x.Id); foreach (var nodeType in nodeTypes) { nodeType.Id = ++lastId; } } var contentListTypes = schema.ContentListTypes.Where(x => x.Id == 0).ToArray(); if (contentListTypes.Any()) { var lastId = schema.ContentListTypes.Max(x => x.Id); foreach (var contentListType in contentListTypes) { contentListType.Id = ++lastId; } } await MsSqlSchemaInstaller.InstallSchemaAsync(schema).ConfigureAwait(false); }
// -------------------------------------------------------------------------------- Load from RepositorySchemaData private void Load(RepositorySchemaData schemaData) { BuildPropertyTypes(schemaData.PropertyTypes); BuildNodeTypes(schemaData.NodeTypes); BuildContentListTypes(schemaData.ContentListTypes); SchemaTimestamp = schemaData.Timestamp; }
public static async Task InstallSchemaAsync(RepositorySchemaData schema, string connectionString = null) { var dataSet = new DataSet(); CreateTableStructure(dataSet); _columnNames = dataSet.Tables.Cast <DataTable>().ToDictionary( table => table.TableName, table => table.Columns.Cast <DataColumn>().Select(x => x.ColumnName).ToArray()); CreateData(dataSet, schema); await WriteToDatabaseAsync(dataSet, connectionString).ConfigureAwait(false); }
public abstract Task WriteSchemaAsync(RepositorySchemaData schema);
public override Task WriteSchemaAsync(RepositorySchemaData schema) { throw new NotSupportedException(); }
public InMemorySchemaWriter(RepositorySchemaData originalSchema, Action finishedCallback) { _schema = originalSchema; _finishedCallback = finishedCallback; }
public override System.Threading.Tasks.Task WriteSchemaAsync(RepositorySchemaData schema) { throw new NotSupportedException(); }