UpdateReleaseMethod.cs
1 using System;
2 using System.Collections.Generic;
3 using System.IO;
4 using System.Linq;
5 using System.Text;
6 using sage.ew.global;
7 using sage.ew.interficies;
8 
9 namespace Sage.ES.S50.Addons
10 {
11  internal class UpdateReleaseMethod : Command
12  {
13  #region Members
14  private readonly string _pathLibreries;
15  #endregion
16 
17  public UpdateReleaseMethod(IAddonsManager oAddons, String pathLibreries ) : base(oAddons)
18  {
19  Name = "UpdateRelease";
20  _pathLibreries = pathLibreries;
21  }
22 
23  protected override void CommandModulo(IModulo modulo, params object[] parameters)
24  {
25  string lcError = "";
26  AddonData addonData = new AddonData()
27  {
28  Libreria = modulo._Libreria,
29  LibreriaModulo = modulo._LibreriaModulo,
30  Nombre = modulo._Nombre,
31  Nombre2 = modulo._Nombre2,
32  NombreConex = modulo._NombreConexion,
33  Clase = modulo._Clase,
34  Tipo = modulo._Tipo,
35  PathServerLib = _pathLibreries
36  };
37 
38  IModulo loObjeto = ((AddonsManager)oAddons)._CargarNuevoAddon(addonData, ref lcError, forceReload: true, updateRelease: true);
39 
40  if (loObjeto is IModulo)
41  {
42  bool lbOkTmp = loObjeto._UpdateRelease();
43 
44  if (!lbOkTmp)
45  {
46  OnError(new CommandErrorEventArgs(
47  "UpdateRelease",
48  addonData.Nombre,
49  string.Format("Ejecutado con errores _UpdateRelease addon {0}", loObjeto._Nombre2)
50  ));
51  }
52  }
53  else
54  {
55  OnError(new CommandErrorEventArgs(
56  "UpdateRelease",
57  addonData.Nombre,
58  string.Format("Error al cargar el addon {0}", lcError)
59  ));
60  }
61 
62  loObjeto._Assembly = null;
63  loObjeto = null;
64  }
65 
66  protected override bool Condition(params object[] parameter)
67  {
68  return oAddons.GetAddons() is Dictionary<string, object>;
69  }
70 
71  protected override ExpectedParameters GetExpectedParameters()
72  {
73  return null;
74  }
75  }
76 }
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
string _Nombre2
Nombre visible del módulo
Definition: IModulo.cs:54
Assembly _Assembly
Contendra el Assembly del addon
Definition: IModulo.cs:89
bool _UpdateRelease()
Task 135557: Método que se ejecutará una vez que se haya actualizado las librerías ...
string _Libreria
Nombre del ensamblado del módulo
Definition: IModulo.cs:69
string _LibreriaModulo
Nombre del ensamblado del módulo
Definition: IModulo.cs:74
string _NombreConexion
Nombre real de la base de datos
Definition: IModulo.cs:59
string _Clase
Nombre de la clase principal del módulo (this)
Definition: IModulo.cs:79
int _Tipo
Tipo de addon
Definition: IModulo.cs:64
string _Nombre
Nombre interno del módulo y nombre del directorio de instación
Definition: IModulo.cs:49