EstadoRgpd.cs
1 using System;
2 using sage.ew.formul;
3 using sage.ew.interficies;
5 using sage.ew.objetos;
6 using System.Drawing;
7 using sage.ew.db;
8 
9 namespace sage.addons.rgpd
10 {
14  internal abstract class EstadoRGPD
15  {
16  protected readonly rgpd _oRgpd;
17 
21  public EstadoRGPD(rgpd toRgpd)
22  {
23  _oRgpd = toRgpd;
24  }
25 
31  public abstract object _Extension(string tcKey);
32 
39  public abstract object _Extension(string _key, sage.ew.interficies.IMante _mantePrincipal);
45  public abstract void _BindForm(string _nombreForm, FormBase _formBase);
46  }
47 
51  internal class EstadoRGPDActivo : EstadoRGPD
52  {
56  internal EstadoRGPDActivo(rgpd toModulo)
57  : base(toModulo) { }
58 
64  public override object _Extension(string tcKey)
65  {
66  object loInstancia = null;
67 
68  tcKey = tcKey.ToLower().Trim();
69 
70  switch (tcKey)
71  {
72  case "albaranventa":
73  case "pedidoventa":
74  case "facturaventa":
75  case "presupuestoventa":
76  case "depositoventa":
77  loInstancia = new Negocio.Clases.ExtDocVentaRgpd();
78  break;
79 
80  case "albarancompra":
81  case "pedidocompra":
82  case "facturacompra":
83  case "propuestacompra":
84  case "depositocompra":
85  loInstancia = new Negocio.Clases.ExtDocCompraRgpd();
86  break;
87 
88  default:
89  break;
90  }
91 
92  return loInstancia;
93  }
94 
101  public override object _Extension(string _key, IMante _mantePrincipal)
102  {
103  object loInstancia = null;
104 
105  _key = _key.ToLower().Trim();
106 
107 
108  switch (_key)
109  {
110  case "comunica":
111  loInstancia = new Negocio.Mantes.ExtensionComunicados();
112  break;
113 
114  case "empresa":
115  _oRgpd._Configuracion._Mante = _mantePrincipal;
116  loInstancia = _oRgpd._Configuracion;
117  break;
118 
119  case "rgpdentidades":
120  loInstancia = new Negocio.Mantes.ManteExtEntidadesrgpd(_mantePrincipal);
121  break;
122 
123  default:
124  //Tratamiento genérico para entidades (buscando en RGPD.entidad_C)
125  EntidadInfo loInfo = _oRgpd.BuscarInformacionAsociadaEntidad(_key, tlBuscarPorPantalla: true);
126  if (loInfo != null)
127  {
128  loInstancia = new Negocio.Mantes.ManteExtEntidades(_mantePrincipal);
129  ((Negocio.Mantes.ManteExtEntidades)loInstancia)._EntidadInfo = loInfo; //Le asigno la instancia de información
130  }
131 
132  break;
133  }
134 
135  return loInstancia;
136  }
137 
143  public override void _BindForm(string _nombreForm, FormBase _formBase)
144  {
145  _nombreForm = _nombreForm.ToLower().Trim();
146 
147  // Puede que el formulario sea el FormMante base. En ese caso, utilizamos el nombre de _Pantalla
148  if (_nombreForm == "formmante")
149  _nombreForm = _formBase._Pantalla.ToLower().Trim();
150 
151  switch (_nombreForm)
152  {
153  case "frmempresa":
154  try
155  {
156  ewtabcontrol loTabControl = (ewtabcontrol)_formBase._FindControl("ewtabcontrolModulos");
157  if (loTabControl != null)
158  {
159 
160  ewTabPage loPage = new ewTabPage();
161  loPage.Text = _oRgpd._Nombre2.Trim();
162 
163  _oRgpd._Configuracion._Load();
164  _oRgpd._Configuracion._Visible = true;
165 
166  loPage.Font = new Font("Segoe UI", 9);
167  loPage.Controls.Add(_oRgpd._Configuracion._Visual);
168  loPage.AutoScroll = true;
169  loTabControl.TabPages.Add(loPage);
170  }
171  }
172  catch (Exception loEx)
173  {
174  DB.Registrar_Error(loEx);
175  }
176 
177  break;
178 
179  case "frmentidad_c":
180  case "rgpdentidades":
181  Negocio.Mantes.FormManteExtEntidadesrgpd formmanteextentidadesrgpd = new Negocio.Mantes.FormManteExtEntidadesrgpd((sage.ew.formul.Forms.FormMante)_formBase, _oRgpd);
182  break;
183 
184  default:
185  //Tratamiento genérico para entidades (buscando en RGPD.entidad_C)
186  EntidadInfo loInfo = _oRgpd.BuscarInformacionAsociadaEntidad(_nombreForm, tlBuscarPorPantalla: false);
187  if (loInfo != null)
188  {
189  Negocio.Mantes.FormManteExtEntidadesRgpd formmanteextclientesrgpd = Negocio.Mantes.FormManteExtEntidadesRgpd._New((sage.ew.formul.Forms.FormMante)_formBase, _oRgpd, loInfo);
190  }
191 
192  break;
193  }
194  }
195  }
196 
200  internal class EstadoRGPDApagado : EstadoRGPD
201  {
205  internal EstadoRGPDApagado(rgpd toModulo)
206  : base(toModulo) { }
207 
213  public override object _Extension(string tcKey)
214  {
215  return null; //No extender nada
216  }
217 
224  public override object _Extension(string _key, IMante _mantePrincipal)
225  {
226  return null; //No extender nada
227  }
228 
234  public override void _BindForm(string _nombreForm, FormBase _formBase)
235  {
236  //No hacer nada
237  }
238  }
239 }
Nueva interficie madre de IMantes y de la que colgara ewMante. Propiedades: _Codigo, _Nombre, _Error_Message. Metodos: _New, Save, _Delete, _Load, _Existe_Registro, _Clonar
Definition: IMantes.cs:17
virtual string _Pantalla
Nombre del formulario equivalente de Eurowin para bloqueos por usuario.
Definition: clsFormul.cs:429
Es como el tipo de entrada asientos pero por negocio, sin formulario, pq quiero que me haga las propu...
Formulario base de Eurowin
Definition: clsFormul.cs:400
Administra un conjunto relacionado de páginas de fichas al estilo Sage.Eurowin
PE-83560 Control tipo ew de TabPage
Control _FindControl(string tcControlName)
PE-96322. Devuelve el primer control que coincide por nombre
Definition: clsFormul.cs:850
Base para los mantenimientos de Sage TPV
Definition: FormMante.cs:26