CargarExtensionesArqueoTpvCommand.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 CargarExtensionesArqueoTpvCommand : Command
10  {
15  public CargarExtensionesArqueoTpvCommand(IAddonsManager addons) : base(addons)
16  {
17  Name = "CargarExtensionesArqueoTpv";
18  }
19 
20 
26  protected override void CommandModulo(IModulo modulo, params object[] parameters)
27  {
28  IAddons arqueoTpv = (IAddons)parameters[0];
29  string tipoArqueoTpv = parameters[1].ToString();
30  IExtensionArqueoTpv loExtension = (IExtensionArqueoTpv)modulo._Extension(tipoArqueoTpv);
31 
32  if (loExtension != null && loExtension is IExtensionArqueoTpv)
33  {
34  loExtension._Documento = (IArqueoTpv)arqueoTpv;
35  arqueoTpv._Addons.Add(modulo._Nombre, loExtension);
36  }
37  }
38 
39 
45  protected override bool Condition(params object[] parameters)
46  {
47  IAddons documento = (IAddons)parameters[0];
48  return base.Condition(parameters) && documento._Addons.Count() == 0;
49  }
50 
51 
56  protected override ExpectedParameters GetExpectedParameters()
57  {
58  return new ExpectedParameters(new Type[] { typeof(IAddons), typeof(string) });
59  }
60  }
61 }
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
Interfaz para la clase de arqueo de caja TPV
Definition: IArqueoTpv.cs:13
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