CargarExtensionesTiposModelo.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 CargarExtensionesTiposModelo : Command
10  {
11  public CargarExtensionesTiposModelo(IAddonsManager addons) : base(addons)
12  {
13  Name = "CargarExtensionesTiposModelo";
14  }
15 
16  protected override void CommandModulo(IModulo modulo, params object[] parameters)
17  {
18  ITiposModelo documento = parameters[0] as ITiposModelo;
19 
20  IExtensionTiposModelo extensionDocsBase = (IExtensionTiposModelo)modulo._ExtensionTiposModelo(documento);
21 
22  if (extensionDocsBase is IExtensionTiposModelo) documento._Addons.Add(modulo._Nombre, extensionDocsBase);
23 
24  }
25 
26  protected override ExpectedParameters GetExpectedParameters()
27  {
28  return new ExpectedParameters(new Type[] { typeof(ITiposModelo) });
29  }
30 
31  protected override bool Condition(params object[] parameters)
32  {
33  ITiposModelo documento = parameters[0] as ITiposModelo;
34  string classtypename = documento.GetType().Name.ToLower();
35  return base.Condition(parameters) && !string.IsNullOrWhiteSpace(classtypename) && documento._Addons.Count == 0;
36  }
37  }
38 }
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
IExtensionTiposModelo _ExtensionTiposModelo(ITiposModelo documento)
Cargar una extensión para la clase TiposModelo
Definición de Tipos de modelo
Dictionary< string, object > _Addons
Diccionario donde cargaremos los addons disponibles
string _Nombre
Nombre interno del módulo y nombre del directorio de instación
Definition: IModulo.cs:49