CargarExtensionesManteCommand.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 CargarExtensionesManteCommand : Command
10  {
11  public CargarExtensionesManteCommand(IAddonsManager addons) : base(addons)
12  {
13  Name = "CargarExtensionesMante";
14  }
15 
16  protected override void CommandModulo(IModulo modulo, params object[] parameters)
17  {
18  IDocumentoBase documento = parameters[0] as IDocumentoBase;
19  string classtypename = documento.GetType().Name.ToLower();
20 
21  IExtensionDocumentoBase extensionDocsBase = (IExtensionDocumentoBase)modulo._ExtensionDocumentoBase(classtypename, documento);
22 
23  if (extensionDocsBase != null)
24  {
25  if (documento is IDocumentoImprimible) // es documento base ya que es IMante e IDocumentoImprimible
26  {
27  extensionDocsBase._Mante = documento;
28  }
29  documento._Addons.Add(modulo._Nombre, extensionDocsBase);
30  }
31  }
32 
33  protected override ExpectedParameters GetExpectedParameters()
34  {
35  return new ExpectedParameters(new Type[] { typeof(IMante) });
36  }
37  protected override bool Condition(params object[] parameters)
38  {
39  IMante documento = parameters[0] as IMante;
40  string classtypename = documento.GetType().Name.ToLower();
41  return base.Condition(parameters) && !string.IsNullOrWhiteSpace(classtypename) && documento._Addons.Count == 0;
42  }
43  }
44 }
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
Nueva interficie madre de IMantes y de la que colgara ewMante. Propiedades: _Codigo, _Nombre, _Error_Message. Metodos: _New, Save, _Delete, _Load, _Existe_Registro, _Clonar
Definition: IMantes.cs:17
Interfinci para las extensiones de los documentos base
Definition: IDocModulos.cs:190
object _ExtensionDocumentoBase(string tcKey, IDocumentoBase _documentobase)
Se utilizará para obtener un objeto con las extensiones de los módulos disponibles para el documento ...
Dictionary< string, object > _Addons
Diccionario donde cargaremos los addons disponibles (PE-100212)
Definition: IMantes.cs:54
IMante _Mante
Referencia al mantenimiento original
Definition: IDocModulos.cs:79
Definición de la interficie que deben cumplir los documentos de cualquier tipo para poder interactuar...
Definition: IDocPrint.cs:376
Interficie para los documentos base
string _Nombre
Nombre interno del módulo y nombre del directorio de instación
Definition: IModulo.cs:49