/// <summary> /// Interpreta un esquema y genera las estructuras de documentación /// </summary> public StructDocumentationModel Parse(StructParameterModelDictionary objParameters) { Models.SqlServerConnectionModel objConnection = new Models.SqlServerConnectionModel(); // Obtiene los parámetros de la conexión objConnection.Server = objParameters.GetValue("Server"); objConnection.DataBase = objParameters.GetValue("DataBase"); objConnection.User = objParameters.GetValue("User"); objConnection.Password = objParameters.GetValue("Password"); // Compila la documentación de la conexión return(new LibDataBase.Documenter.Common.StructDataBaseConversor().Convert(LoadSchema(objConnection))); }
/// <summary> /// Interpreta las páginas adicionales de documentación /// </summary> public StructDocumentationModel Parse(StructParameterModelDictionary parameters) { string path = parameters.GetValue("Path"); if (!path.IsEmpty() && System.IO.Directory.Exists(path)) { return(ParsePath(null, path)); } else { throw new NotImplementedException("No se encuentra el directorio"); } }
/// <summary> /// Interpreta la documentación de un archivo XML /// </summary> public StructDocumentationModel Parse(StructParameterModelDictionary parameters) { string fileName = parameters.GetValue("FileName"); if (!fileName.IsEmpty()) { return(new XMLStructsRepository().Load(parameters.GetValue("FileName"))); } else { throw new NotImplementedException("No se encuentra el nombre de archivo"); } }
/// <summary> /// Interpreta un esquema y genera las estructuras de documentación /// </summary> public StructDocumentationModel Parse(StructParameterModelDictionary objParameters) { Schema objSchema = new Schema(); // Abre la conexión a OleDB using (OleDbConnection objConnection = new OleDbConnection(objParameters.GetValue("ConnectionString"))) { // Abre la conexión objConnection.Open(); // Obtiene los datos LoadTables(objConnection, objSchema); // Cierra la conexión objConnection.Close(); } // Devuelve la documentación del esquema return(new LibDataBase.Documenter.Common.StructDataBaseConversor().Convert(objSchema)); }
/// <summary> /// Obtiene el nombre de archivo de los parámetros /// </summary> private string GetFileName(StructParameterModelDictionary parameter) { return(parameter.GetValue("FileName")); }
/// <summary> /// Interpreta un archivo /// </summary> public StructDocumentationModel Parse(StructParameterModelDictionary parameter) { SolutionModel solution = ParseSolution(GetFileName(parameter)); return(new LibSourceCode.Documenter.Common.StructSourceCodeConversor().Parse(solution)); }
/// <summary> /// Convierte las referencias de una colección de parámetros /// </summary> private void ConvertReferences(Dictionary <string, StructDocumentationModel> dctStruct, StructParameterModelDictionary parameters) { foreach (KeyValuePair <string, StructParameterModel> keyPair in parameters.Parameters) { // Convierte las referencias if (keyPair.Value != null && !keyPair.Value.ReferenceKey.IsEmpty()) { StructDocumentationModel structDoc = null; // Obtiene la estructura del diccionario if (dctStruct.TryGetValue(NormalizeKey(keyPair.Value.ReferenceKey), out structDoc)) { keyPair.Value.Reference = structDoc; } } // Convierte los parámetros hijo ConvertReferences(dctStruct, keyPair.Value.Parameters); } }
/// <summary> /// Convierte las referencias de una colección de parámetros /// </summary> private void ConvertReferences(Dictionary <string, StructDocumentationModel> dctStruct, StructParameterModelDictionary objColParameters) { foreach (KeyValuePair <string, StructParameterModel> objKeyPair in objColParameters.Parameters) { // Convierte las referencias if (objKeyPair.Value != null && !objKeyPair.Value.ReferenceKey.IsEmpty()) { StructDocumentationModel objStruct = null; // Obtiene la estructura del diccionario if (dctStruct.TryGetValue(NormalizeKey(objKeyPair.Value.ReferenceKey), out objStruct)) { objKeyPair.Value.Reference = objStruct; } } // Convierte los parámetros hijo ConvertReferences(dctStruct, objKeyPair.Value.Parameters); } }
/// <summary> /// Interpreta un archivo /// </summary> public StructDocumentationModel Parse(StructParameterModelDictionary objParameter) { ProgramModel objProgram = ParseProgram(GetFileName(objParameter)); return(new LibSourceCode.Documenter.Common.StructSourceCodeConversor().Parse(objProgram)); }
/// <summary> /// Obtiene el proveedor de base de daots adecuado /// </summary> internal BaseSchemaProvider GetInstance(StructDataBaseConversor.DataBaseType type, StructParameterModelDictionary parameters) { switch (type) { case StructDataBaseConversor.DataBaseType.Odbc: return(new OdbcSchemaProvider(parameters)); case StructDataBaseConversor.DataBaseType.SqlServer: return(new SqlServerSchemaProvider(parameters)); default: throw new NotImplementedException($"Database provider {type} unknown"); } }
/// <summary> /// Compila las estructuras de una base de datos /// </summary> private StructDocumentationModel CompileDatabase(LibDataBaseDocumenter.StructDataBaseConversor.DataBaseType type, StructParameterModelDictionary structParameters) { return(new LibDataBaseDocumenter.StructDataBaseConversor().Convert(type, structParameters)); }
/// <summary> /// Convierte un esquema en una estructura de documentación /// </summary> public StructDocumentationModel Convert(DataBaseType type, StructParameterModelDictionary parameters) { Providers.BaseSchemaProvider provider = new Providers.ProviderFactory().GetInstance(type, parameters); return(Convert(provider.GetSchema(), provider.DataBase, provider.Server)); }