/// <summary> /// Carga los datos de un <see cref="DataWarehouseModel"/> /// </summary> internal DataWarehouseModel Load(ReportingSchemaModel schema, string fileName) { DataWarehouseModel dataWarehouse = new DataWarehouseModel(schema); // Carga los datos if (System.IO.File.Exists(fileName)) { MLFile fileML = new LibMarkupLanguage.Services.XML.XMLParser().Load(fileName); if (fileML != null) { foreach (MLNode rootML in fileML.Nodes) { if (rootML.Name == TagRoot) { // Asigna las propiedades dataWarehouse.Id = rootML.Attributes[TagId].Value.TrimIgnoreNull(); dataWarehouse.Name = rootML.Nodes[TagName].Value.TrimIgnoreNull(); dataWarehouse.Description = rootML.Nodes[TagDescription].Value.TrimIgnoreNull(); // Carga las dimensiones y orígenes de datos foreach (MLNode nodeML in rootML.Nodes) { switch (nodeML.Name) { case TagDataSourceTable: dataWarehouse.DataSources.Add(LoadDataSourceTable(dataWarehouse, nodeML)); break; case TagDataSourceSql: dataWarehouse.DataSources.Add(LoadDataSourceSql(dataWarehouse, nodeML)); break; case TagDimension: dataWarehouse.Dimensions.Add(LoadDimension(nodeML, dataWarehouse)); break; case TagReport: dataWarehouse.Reports.Add(LoadReport(nodeML, dataWarehouse)); break; } } } } } } // Devuelve los datos del almacén de datos return(dataWarehouse); }
/// <summary> /// Convierte un archivo de esquema de base de datos en un <see cref="DataWarehouseModel"/> /// </summary> internal DataWarehouseModel Convert(ReportingSchemaModel schema, string name, string fileName) { SchemaDbModel schemaDb = new LibDbSchema.Repository.Xml.SchemaXmlManager().Load(fileName); DataWarehouseModel dataWarehouse = new DataWarehouseModel(schema); // Asigna las propiedades dataWarehouse.Name = name; // Genera los orígenes de datos de las tablas foreach (TableDbModel table in schemaDb.Tables) { dataWarehouse.DataSources.Add(ConvertDataSource(dataWarehouse, table)); } // Genera los orígenes de datos de las vistas foreach (ViewDbModel view in schemaDb.Views) { dataWarehouse.DataSources.Add(ConvertDataSource(dataWarehouse, view)); } // Devuelve el objeto return(dataWarehouse); }
public DataWarehouseModel(ReportingSchemaModel schema) { Schema = schema; }
internal ReportQueryGenerator(ReportingSchemaModel schema, ReportModel report, ReportRequestModel request) { Schema = schema; Report = report; Request = request; }