SetTipoProcesoCommand.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.ewbase;
7 
8 namespace Sage.ES.S50.Addons
9 {
10  internal class SetTipoProcesoCommand : Command
11  {
12  public SetTipoProcesoCommand(IAddonsManager oAddons) : base(oAddons)
13  {
14  Name = "SetTipoProceso";
15  }
16 
17  protected override ExpectedParameters GetExpectedParameters()
18  {
19  return new ExpectedParameters(new Type[] { typeof(ProcesosEnEjecucion) });
20  }
21 
22  protected override void CommandModulo(IModulo modulo, params object[] parameters)
23  {
24  modulo._TipoProceso = (ProcesosEnEjecucion)parameters[0];
25  }
26  protected override void OnError(CommandErrorEventArgs e)
27  {
28  IModulo loAddon = null;
29  foreach (KeyValuePair<string, object> loItem in oAddons.GetAddons())
30  {
31  try
32  {
33  // Si aqui dentro hubiese algún error debe intentarlo con el siguiente addon.
34  loAddon = (IModulo)loItem.Value;
35  loAddon._TipoProceso = ProcesosEnEjecucion.NoDeclarado;
36  }
37  catch
38  {
39  }
40  }
41 
42  base.OnError(e);
43  }
44  }
45 }
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
ProcesosEnEjecucion
Enumeración de procesos posibles en los que el addon podrá realizar alguna acción con las extensiones...
Definition: ewbaseenum.cs:48
ProcesosEnEjecucion _TipoProceso
Tipo de proceso posible en ejecución en los que el addon podrá realizar alguna acción, por ejemplo, omitir la carga de extensiones del addon. Esta enumeración tienen 2 procesos actualmente, pero es ampliable según surja la necesidad.
Definition: IModulo.cs:106