CargarExtensionesStocksCommand.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 CargarExtensionesStocksCommand : Command
10  {
11  public CargarExtensionesStocksCommand(IAddonsManager addons) : base(addons)
12  {
13  Name = "CargarExtensionesStocks";
14  }
15 
16  protected override void CommandModulo(IModulo modulo, params object[] parameters)
17  {
18  IStockExtension extension = modulo._ExtensionStock();
19  IStock stock = (IStock)parameters[0];
20  if (extension != null)
21  {
22  extension._oStock = stock;
23  stock._Addons.Add(modulo._Nombre, extension);
24  }
25  }
26 
27  protected override bool Condition(params object[] parameters)
28  {
29  IStock stock = (IStock)parameters[0];
30  string classtypename = stock.GetType().Name.ToLower();
31  return base.Condition(parameters) && !string.IsNullOrWhiteSpace(classtypename) && stock._Addons.Count == 0;
32  }
33  protected override ExpectedParameters GetExpectedParameters()
34  {
35  return new ExpectedParameters(new Type[] { typeof(IStock) });
36  }
37  }
38 }
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
IStock _oStock
Instancia del objeto Stock
IStockExtension _ExtensionStock()
Cargar una extensión para la clase Stock
Interficie IStock
Definition: IStock.cs:10
Interficie para las extensiones de la clase Stock
Dictionary< string, IStockExtension > _Addons
Addons
Definition: IStock.cs:15
string _Nombre
Nombre interno del módulo y nombre del directorio de instación
Definition: IModulo.cs:49