CargarExtensionesDeshacerCierreCommand.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 CargarExtensionesDeshacerCierreCommand : Command
10  {
11  public CargarExtensionesDeshacerCierreCommand(IAddonsManager addons) : base(addons)
12  {
13  Name = "CargarExtensionesDeshacerCierre";
14  }
15 
16  protected override void CommandModulo(IModulo modulo, params object[] parameters)
17  {
18  IAddons documento = (IAddons)parameters[0];
19 
20  IExtensionDeshacerCierre loExtension = (IExtensionDeshacerCierre)modulo._Extension("ExtensionDeshacerCierre");
21 
22  if (loExtension is IExtensionDeshacerCierre)
23  {
24  loExtension._Documento = (IAsientoCierreDeshacer)documento;
25  documento._Addons.Add(modulo._Nombre2, 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  protected override ExpectedParameters GetExpectedParameters()
36  {
37  return new ExpectedParameters(new Type[] { typeof(IAddons) });
38  }
39  }
40 }
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
string _Nombre2
Nombre visible del módulo
Definition: IModulo.cs:54
Extensión para deshacer el cierre
object _Extension(string tcKey)
Se utilizará para obtener un objeto con las extensiones de los módulos disponibles para el documento ...
IAsientoCierreDeshacer _Documento
Asiento
Interfaz Addons
Definition: IAddons.cs:11
Interficie para la definicion para deshacer asientos de cierre