BuscarImplementacionesNavegacionDecoradasCommand.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using sage.ew.interficies;
6 using sage.ew.objetos.Widgets;
7 
8 namespace Sage.ES.S50.Addons
9 {
10  internal class BuscarImplementacionesNavegacionDecoradasCommand : Command
11  {
12  IWidgetsNavigateClass negocioNavegacion = null;
13  public BuscarImplementacionesNavegacionDecoradasCommand(IAddonsManager addons) : base(addons)
14  {
15  Name = "BuscarImplementacionesNavegacionDecoradas";
16  }
17 
18  protected override void CommandModulo(IModulo modulo, params object[] parameters)
19  {
20  IWidgetsNavigateClass negocioNavegacion = parameters[0] as IWidgetsNavigateClass;
21  negocioNavegacion = ((IWidgetsNavigateClassDecorator)modulo).New(negocioNavegacion);
22  }
23 
24  protected override ExpectedParameters GetExpectedParameters()
25  {
26  return new ExpectedParameters(new Type[] { typeof(IWidgetsNavigateClass) });
27  }
28 
29  protected override List<KeyValuePair<string, object>> GetAddons()
30  {
31  return oAddons.GetAddons().Where(a => a.Value is IWidgetsNavigateClassDecorator).ToList();
32  }
33  protected override bool Condition(KeyValuePair<string, object> addon)
34  {
35  return addon.Value is IWidgetsNavigateClassDecorator;
36  }
37  protected override bool Condition(params object[] parameters)
38  {
39  negocioNavegacion = parameters[0] as IWidgetsNavigateClass;
40  return base.Condition(parameters);
41  }
42  protected override object Return(params object[] parameters)
43  {
44  return negocioNavegacion;
45  }
46  }
47 }
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
Interficie de operaciones de navegación
Interficie que deben cumplir las clases que extiendan la funcionalidad de navegación ...