private static void WriteDBFindByOrderBy(ref StringBuilder nSourceCode, XsdDataBase nDataBaseMap, XsdDataBase.TBL_ObjectRow tabla, ref int idMetodo, XsdDataBase.TBL_FilterRow filtro, string ObjetNameFormated) { var nFilterParam = nDataBaseMap.GetFilterColumns(filtro, tabla.id_Object); var opetarionParams = ""; var strLine = ""; foreach (var par in nFilterParam) { if (opetarionParams != "") opetarionParams += ", "; opetarionParams = opetarionParams + DataBaseClassWriter.GetApplicationStringType(par.Type, LanguajeType.CSharp, true) + " n" + par.Name; strLine += " " + par.Name; } var FunctionName = strLine.Replace(" ", ""); if (FunctionName.Length > 500) { idMetodo++; FunctionName = FunctionName.Substring(0, 500) + idMetodo.ToString(); } DataBaseClassWriter.Write(nSourceCode, 3, "/// <summary>"); DataBaseClassWriter.Write(nSourceCode, 3, "/// Retorna registros de la tabla " + tabla.Object_Name + ", filtrando por" + strLine); DataBaseClassWriter.Write(nSourceCode, 3, "/// </summary>"); DataBaseClassWriter.Write(nSourceCode, 3, "[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]"); DataBaseClassWriter.Write(nSourceCode, 3, "public " + ObjetNameFormated + "DataTable DBFindBy" + FunctionName + "(" + opetarionParams + (opetarionParams == "" ? "" : ", ") + "int nMaxRows, " + ObjetNameFormated + "EnumList nOrderByParams)"); DataBaseClassWriter.Write(nSourceCode, 3, "{"); DataBaseClassWriter.Write(nSourceCode, 4, "List<Parameter> nFilters = new List<Parameter>();"); foreach (var par in nFilterParam) { DataBaseClassWriter.Write(nSourceCode, 4, "nFilters.Add(new Parameter(\"" + par.Name + "\", DbType." + par.Type.ToString() + ", \"" + par.SpecificType + "\", n" + par.Name + ", " + DataBaseClassWriter.getBoolean(par.IsNullable, LanguajeType.CSharp) + ", " + par.MaxLength + ", " + par.Precision + ", " + par.Scale + ", ParameterDirection." + par.Direction.ToString() + "));"); } DataBaseClassWriter.Write(nSourceCode, 4, FormatCode.ToIdentifier(tabla.Object_Name) + "DataTable nDataTable = new " + ObjetNameFormated + "DataTable();"); DataBaseClassWriter.Write(nSourceCode, 4, "base.DBFill(nDataTable, nFilters, nMaxRows, nOrderByParams);"); DataBaseClassWriter.Write(nSourceCode, 4, "return nDataTable;"); DataBaseClassWriter.Write(nSourceCode, 3, "}"); DataBaseClassWriter.Write(nSourceCode, 0, ""); }
private static void WriteDBFindByOrderBy(ref StringBuilder nSourceCode, XsdDataBase nDataBaseMap, XsdDataBase.TBL_ObjectRow tabla, ref int idMetodo, XsdDataBase.TBL_FilterRow filtro, string ObjetNameFormated) { var nFilterParam = nDataBaseMap.GetFilterColumns(filtro, tabla.id_Object); var opetarionParams = ""; var strLine = ""; foreach (var par in nFilterParam) { if (opetarionParams != "") opetarionParams += ", "; opetarionParams = opetarionParams + "ByVal n" + par.Name + " As " + DataBaseClassWriter.GetApplicationStringType(par.Type, LanguajeType.VB, true) + ""; strLine += " " + par.Name; } var FunctionName = strLine.Replace(" ", ""); if (FunctionName.Length > 500) { idMetodo++; FunctionName = FunctionName.Substring(0, 500) + idMetodo.ToString(); } DataBaseClassWriter.Write(nSourceCode, 3, "''' <summary>"); DataBaseClassWriter.Write(nSourceCode, 3, "''' Retorna registros de la tabla " + tabla.Object_Name + ", filtrando por" + strLine); DataBaseClassWriter.Write(nSourceCode, 3, "''' </summary>"); DataBaseClassWriter.Write(nSourceCode, 3, "<Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _"); DataBaseClassWriter.Write(nSourceCode, 3, "Public Overloads Function DBFindBy" + FunctionName + "(" + opetarionParams + (opetarionParams == "" ? "" : ", ") + "ByVal nMaxRows As Integer, ByVal nOrderByParams As " + ObjetNameFormated + "EnumList) As " + ObjetNameFormated + "DataTable"); DataBaseClassWriter.Write(nSourceCode, 4, "Dim nFilters As New List(Of Parameter)"); foreach (var par in nFilterParam) { DataBaseClassWriter.Write(nSourceCode, 4, "nFilters.Add(New Parameter(\"" + par.Name + "\", DbType." + par.Type.ToString() + ", \"" + par.SpecificType + "\", n" + par.Name + ", " + DataBaseClassWriter.getBoolean(par.IsNullable, LanguajeType.VB) + ", " + par.MaxLength + ", " + par.Precision + ", " + par.Scale + ", ParameterDirection." + par.Direction.ToString() + "))"); } DataBaseClassWriter.Write(nSourceCode, 4, "Dim nDataTable As New " + ObjetNameFormated + "DataTable"); DataBaseClassWriter.Write(nSourceCode, 4, "MyBase.DBFill(nDataTable, nFilters, nMaxRows, nOrderByParams)"); DataBaseClassWriter.Write(nSourceCode, 4, "Return nDataTable"); DataBaseClassWriter.Write(nSourceCode, 3, "End Function"); DataBaseClassWriter.Write(nSourceCode, 0, ""); }