GetDbFiltrosPersonalizablesCommand.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 GetDbFiltrosPersonalizablesCommand : Command
12  {
13  public GetDbFiltrosPersonalizablesCommand(IAddonsManager addons) : base(addons)
14  {
15  Name = "GetDbFiltrosPersonalizables";
16  }
17 
18  protected override void CommandModulo(IModulo modulo, params object[] parameters)
19  {
20  DataTable dtResult = parameters[0] as DataTable;
21  string tcClase = parameters[1].ToString();
22  Func<string, string, DataTable> _GetDBFiltrosDB = parameters[2] as Func<string, string, DataTable>;
23 
24  string lcAliasDb = modulo._AliasDB;
25  if (dtResult.Columns.Count > 0)
26  dtResult.Merge(_GetDBFiltrosDB(tcClase, lcAliasDb));
27  else
28  dtResult = _GetDBFiltrosDB(tcClase, lcAliasDb);
29 
30  parameters[0] = dtResult;
31 
32  }
33  protected override bool Condition(KeyValuePair<string, object> addon)
34  {
35  return DB._SQLExisteTablaBBDD(((IModulo)addon.Value)._NombreConexion, "FILTROS");
36  }
37  protected override ExpectedParameters GetExpectedParameters()
38  {
39  return new ExpectedParameters(
40  new Type[] {
41  typeof(DataTable),
42  typeof(string),
43  typeof(Func<string, string, DataTable>) });
44  }
45  }
46 }
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