SoloFactuAddon.cs
2 using System;
3 using System.Collections.Generic;
4 using System.Linq;
5 using System.Text;
6 using System.Threading.Tasks;
7 using sage.ew.global;
8 using sage.ew.interficies;
9 using sage.ew.functions;
10 using sage.ew.articulo;
11 
12 namespace Sage.ES.S50.AddonsVirtuales
13 {
18  {
19  private const string ADDON_VARNAME = "WL_SOLOFACTU";
20 
21  #region CONSTRUCTOR
22 
26  public SoloFactuAddon()
27  : base()
28  {
29  Id = 17;
30  Nombre = "ASF50SOLOFACTU";
31  Revision = 1;
32  Nombre2 = "Sólo Factu";
33  Activo = false;
34  Libreria = "Sage.50";
35  Clase = "SoloFactuAddon";
36  //Tema visible: Ni true ni false nos van bien en todos los escenarios, por lo que se ha de leer de una variable
37  Visible = ReadVariable(); //No cambiar => Esto gestiona si lo ha de instalar
38  Instalado = false;
39  Tipo = 1; //En la web esta a 2 pero lo necesitamos a 1 pues sino espera un paquete FTP. No cambiar
40  ModoInstall = 1; // En el proceso de instalación (setupaddon.cs) queremos que sea un 1
41  Solucion = 0;
42  SmallProf = 0;
43  Descripcion = "Edición especial solo facturación para el sabor Essential en el que no se mostrará el módulo de Contabilidad.";
44  Observaciones = "La edición de solo facturación únicamente está disponible para el sabor Essential y oculta el módulo de Contabilidad, además de bloquear la entrada de asientos.";
45  }
46 
47  #endregion CONSTRUCTOR
48 
54  public override bool _Instalar(TipoExecute tcExecute)
55  {
56  bool lbOk = true;
57 
58  lbOk = base._Instalar(tcExecute);
59 
60  if (lbOk && tcExecute == TipoExecute.After)
61  {
62  lbOk = SetVariable(true);
63  EW_GLOBAL._SetVariable("WL_SOLOFACTU", true); //Es este punto los diccionarios ya están cargados. Actulizo el valor para no forzar salida
64  }
65 
66  return lbOk;
67  }
68 
74  public override bool _Desinstalar(TipoExecute tcExecute)
75  {
76  bool lbOk = true;
77 
78  if (lbOk = base._Desinstalar(tcExecute))
79  {
80  if (tcExecute == TipoExecute.After)
81  {
82  lbOk = DeleteVariable(); //Hay que borrar la variable
83  EW_GLOBAL._SetVariable("WL_SOLOFACTU", false); //Es este punto los diccionarios ya están cargados. Actulizo el valor para no forzar salida
84  }
85  }
86 
87  return lbOk;
88  }
89 
90  private bool SetVariable(bool tlActivar)
91  {
92  if (EW_GLOBAL._SaveDbVariable(ADDON_VARNAME, tlActivar, "L"))
93  {
94  EW_GLOBAL.ValorEnClave_VarGlob(ADDON_VARNAME, tlActivar);
95  return true;
96  }
97 
98  return false;
99  }
100 
101  private bool ReadVariable()
102  {
103  object valor = false;
104  EW_GLOBAL._GetDbVariable(ADDON_VARNAME, ref valor);
105  if (!(valor is bool) || Convert.ToBoolean(valor) == false)
106  return false;
107  return true;
108  }
109 
110  private bool DeleteVariable()
111  {
112  return EW_GLOBAL._DeleteDbVariable(ADDON_VARNAME);
113  }
114  }
115 }
override bool _Instalar(TipoExecute tcExecute)
Override del método para ejecutar acciones adicionales en la instalación.
TipoExecute
Tipos de ejecución de los métodos
Definition: IDocModulos.cs:16
override bool _Desinstalar(TipoExecute tcExecute)
Override del método para ejecutar acciones adicionales en la desinstalación.