CargarExtensionesAsientosCommand.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using sage.ew.interficies;
6 
7 namespace Sage.ES.S50.Addons
8 {
9  internal class CargarExtensionesAsientosCommand : Command
10  {
11  public CargarExtensionesAsientosCommand(IAddonsManager addons) : base(addons)
12  {
13  Name = "CargarExtensionesAsientos";
14  }
15 
16  protected override void CommandModulo(IModulo modulo, params object[] parameters)
17  {
18  IAddons asiento = (IAddons)parameters[0];
19  string tabla = parameters[1].ToString();
20  IExtensionAsientos loExtension = (IExtensionAsientos)modulo._Extension(tabla);
21 
22  if (loExtension is IExtensionAsientos)
23  {
24  loExtension._Documento = (IAsientos)asiento;
25  asiento._Addons.Add(modulo._Nombre, loExtension);
26  }
27  }
28 
29  protected override bool Condition(params object[] parameters)
30  {
31  IAddons documento = (IAddons)parameters[0];
32  return base.Condition(parameters) && documento._Addons.Count() == 0;
33  }
34 
35 
36  protected override ExpectedParameters GetExpectedParameters()
37  {
38  return new ExpectedParameters(new Type[] { typeof(IAddons), typeof(string) });
39  }
40  }
41 }
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
Dictionary< string, object > _Addons
Diccionario donde cargaremos los addons disponibles (PE-97109)
Definition: IAddons.cs:16
Interficie Asientos
Definition: IAsientos.cs:17
object _Extension(string tcKey)
Se utilizará para obtener un objeto con las extensiones de los módulos disponibles para el documento ...
Interfaz Addons
Definition: IAddons.cs:11
string _Nombre
Nombre interno del módulo y nombre del directorio de instación
Definition: IModulo.cs:49