CargarExtensionesDocumentoCommand.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 CargarExtensionesDocumentoCommand : Command
10  {
11  public CargarExtensionesDocumentoCommand(IAddonsManager addons) : base(addons)
12  {
13  Name = "CargarExtensionesDocumento";
14  }
15 
16  protected override void CommandModulo(IModulo modulo, params object[] parameters)
17  {
18  IAddons documento = (IAddons)parameters[0];
19  string tipoDocumento = parameters[1].ToString();
20 
21  IExtensionDocsDocumento loExtension = (IExtensionDocsDocumento)modulo._Extension(tipoDocumento);
22  if (loExtension != null)
23  {
24  loExtension._Documento = documento;
25  documento._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  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
Interficie que se debe implementar para aquellos módulos que deben programar modificaciones a nivel d...
Definition: IDocModulos.cs:252
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
dynamic _Documento
Referencia al documento
Definition: IDocModulos.cs:263
string _Nombre
Nombre interno del módulo y nombre del directorio de instación
Definition: IModulo.cs:49