CargarExtensionesCriterioCajaCommand.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 {
12  internal class CargarExtensionesCriterioCajaCommand : Command
13  {
14  #region MÉTODOS PUBLIC
15 
16 
17  public CargarExtensionesCriterioCajaCommand(IAddonsManager addons) : base(addons)
18  {
19  Name = "CargarExtensionesCriterioCaja";
20  }
21 
22 
23  #endregion MÉTODOS PUBLIC
24 
25 
26  #region MÉTODOS PROTECTED
27 
28 
29  protected override void CommandModulo(IModulo modulo, params object[] parameters)
30  {
31  IAddons criteriocaja = (IAddons)parameters[0];
32  IExtensionCriterioCaja loExtension = (IExtensionCriterioCaja)modulo._Extension("extensioncriteriocaja");
33 
34  if (loExtension is IExtensionCriterioCaja)
35  {
36  loExtension._Documento = (ICriterioCaja)criteriocaja;
37  criteriocaja._Addons.Add(modulo._Nombre, loExtension);
38  }
39  }
40 
41  protected override bool Condition(params object[] parameters)
42  {
43  IAddons documento = (IAddons)parameters[0];
44  return base.Condition(parameters) && documento._Addons.Count() == 0;
45  }
46 
47 
48  protected override ExpectedParameters GetExpectedParameters()
49  {
50  return new ExpectedParameters(new Type[] { typeof(IAddons) });
51  }
52 
53 
54  #endregion MÉTODOS PROTECTED
55  }
56 }
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 para poder realizar extensiones sobre la clase de criterio de caja
object _Extension(string tcKey)
Se utilizará para obtener un objeto con las extensiones de los módulos disponibles para el documento ...
ICriterioCaja _Documento
Instancia del criterio de caja
Interfaz para la clase de criterio de caja
Interfaz Addons
Definition: IAddons.cs:11
string _Nombre
Nombre interno del módulo y nombre del directorio de instación
Definition: IModulo.cs:49