CargarExtensionesAsientosFacturaCommand.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 CargarExtensionesAsientosFacturaCommand : Command
10  {
11  public CargarExtensionesAsientosFacturaCommand(IAddonsManager addons) : base(addons)
12  {
13  Name = "CargarExtensionesAsientosFactura";
14  }
15 
16  protected override void CommandModulo(IModulo modulo, params object[] parameters)
17  {
18  IAddons asientoFactura = (IAddons)parameters[0];
19  string tipoAsientoFactura = parameters[1].ToString();
20  IExtensionAsientosFacturas loExtension = (IExtensionAsientosFacturas)modulo._Extension(tipoAsientoFactura);//("asientosfacturasventa");
21 
22  if (loExtension != null && loExtension is IExtensionAsientosFacturas)
23  {
24  loExtension._Documento = (IAsientosFacturasGenerador)asientoFactura;
25  asientoFactura._Addons.Add(modulo._Nombre, loExtension);
26  }
27  }
28  protected override bool Condition(params object[] parameters)
29  {
30  IAddons documento = (IAddons)parameters[0];
31  return base.Condition(parameters) && documento._Addons.Count() == 0;
32  }
33 
34  protected override ExpectedParameters GetExpectedParameters()
35  {
36  return new ExpectedParameters(new Type[] { typeof(IAddons), typeof(string) });
37  }
38  }
39 }
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
IAsientosFacturasGenerador _Documento
Objeto generador de factura utilizado durante el proceso de facturación (Atención, es un IAsientosFacturasGenerador, no es un ewDocVentaFra).
Interficie que se debe implementar para aquellos addons que deben programar modificaciones a nivel de...
Interfaz que deberan cumplir las clases de negocio de generador de asientos de factura (clases Asient...
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