GetDbInformesPersonalizablesCommand.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Data;
4 using System.Linq;
5 using System.Text;
6 using sage.ew.db;
7 using sage.ew.interficies;
8 
9 namespace Sage.ES.S50.Addons
10 {
11  internal class GetDbInformesPersonalizablesCommand : Command
12  {
13  public GetDbInformesPersonalizablesCommand(IAddonsManager addons) : base(addons)
14  {
15  Name = "GetDbInformesPersonalizables";
16  }
17 
18  protected override void CommandModulo(IModulo modulo, params object[] parameters)
19  {
20  string lcAliasDb = modulo._AliasDB;
21  DataTable tdtResultados = (DataTable)parameters[0];
22  Func<string,DataTable> _GetDBInformesDB = parameters[1] as Func<string,DataTable>;
23 
24  if (tdtResultados.Columns.Count > 0)
25  tdtResultados.Merge(_GetDBInformesDB(lcAliasDb));
26  else
27  tdtResultados = _GetDBInformesDB(lcAliasDb);
28 
29  parameters[0] = tdtResultados;
30  }
31 
32  protected override bool Condition(KeyValuePair<string, object> addon)
33  {
34  return DB._SQLExisteTablaBBDD(((IModulo)addon.Value)._NombreConexion, "LISTADOS");
35  }
36  protected override ExpectedParameters GetExpectedParameters()
37  {
38  return new ExpectedParameters(
39  new Type[] {
40  typeof(DataTable),
41  typeof(Func<string, DataTable>) });
42  }
43  }
44 }
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
string _AliasDB
Alias de la Base de datos
Definition: IModulo.cs:29