public static void SetDataSetAzureSqlTableSchema(DataSet dataset, DataSetPropertyJson datasetPropertyJson) { if (dataset.DataSetProperties.AzureSqlTableSchema != null) { AzureSqlTableSchema azureSqlTableSchema = dataset.DataSetProperties.AzureSqlTableSchema; List <AzureSqlTableSchemaJson> schemaJsons = new(); if (azureSqlTableSchema.AzureSqlTableColumns != null) { foreach (AzureSqlTableColumn azureSqlTableColumn in azureSqlTableSchema.AzureSqlTableColumns) { AzureSqlTableSchemaJson schemaJson = new(); schemaJson.Name = azureSqlTableColumn.Name; schemaJson.Type = azureSqlTableColumn.Type.ToString(); if (azureSqlTableColumn.Type is AzureSqlTableColumnTypeEnum.bigint or AzureSqlTableColumnTypeEnum.@int or AzureSqlTableColumnTypeEnum.tinyint or AzureSqlTableColumnTypeEnum.smallint ) { schemaJson.Precision = 10; } else { schemaJson.Precision = string.IsNullOrEmpty(azureSqlTableColumn.Precision) ? null : int.Parse(azureSqlTableColumn.Precision, CultureInfo.InvariantCulture); schemaJson.Scale = string.IsNullOrEmpty(azureSqlTableColumn.Scale) ? null : int.Parse(azureSqlTableColumn.Scale, CultureInfo.InvariantCulture); } schemaJsons.Add(schemaJson); } }
public static void SetDataSetParameters(DataSet dataset, DataSetPropertyJson dataSetPropertyJson) { DataSetProperty dataSetProperty = dataset.DataSetProperties; if (dataSetProperty.Parameters != null) { dataSetPropertyJson.Parameters = new List <ParameterJson>(); foreach (Parameter parameter in dataSetProperty.Parameters) { ParameterJson parameterJson = new() { Name = parameter.Name, Type = parameter.Type, Value = parameter.Value }; dataSetPropertyJson.Parameters.Add(parameterJson); } if (dataSetPropertyJson.Parameters.Count == 0) { dataSetPropertyJson.Parameters = null; } } }
public static void SetDataSetJsonSchema(DataSet dataset, DataSetPropertyJson datasetPropertyJson) { if (dataset.DataSetProperties.JsonSchema != null) { JsonSchema jsonSchema = dataset.DataSetProperties.JsonSchema; AzureJsonSchema jsonSchemaJson = new(); JsonSchemaItem jsonSchemaItemJson = new(); foreach (JsonItem jsonColumn in jsonSchema.JsonItems) { jsonSchemaItemJson.Properties.Add(jsonColumn.Name.Replace("@", "@@"), new { Type = jsonColumn.Type.ToString() }); } jsonSchemaJson.Properties.Add(jsonSchema.Root, new { Type = "array", Items = jsonSchemaItemJson }); datasetPropertyJson.Schema = jsonSchemaJson; } }