DestinatariosClientesPotenciales.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data;
6 using sage.ew.ewbase;
7 using sage.ew.interficies;
8 using sage.ew.db;
9 using sage.ew.functions;
10 using sage.ew.global;
11 
12 namespace Sage.ES.S50.Comunicados.Negocio.Clases
13 {
17  public class DestinatariosClientesPotenciales : DestinatariosBase<DestinatariosClientesPotenciales.DestinatarioClientePotencial>, IManteTRelDestinatarios
18  {
19  #region CLASES
20 
21 
26  public class DestinatarioClientePotencial : DestinatarioBase
27  {
28  #region PROPIEDADES
29 
30 
34  public string _PaisNombre
35  {
36  get { return _cPaisNombre; }
37  set { _cPaisNombre = value; }
38  }
39  private string _cPaisNombre = "";
40 
41 
45  public string _RutaNombre
46  {
47  get { return _cRutaNombre; }
48  set { _cRutaNombre = value; }
49  }
50  private string _cRutaNombre = "";
51 
52 
56  public string _VendedorNombre
57  {
58  get { return _cVendedorNombre; }
59  set { _cVendedorNombre = value; }
60  }
61  private string _cVendedorNombre = "";
62 
63 
67  public string _TarifaNombre
68  {
69  get { return _cTarifaNombre; }
70  set { _cTarifaNombre = value; }
71  }
72  private string _cTarifaNombre = "";
73 
74 
78  public string _ActividadNombre
79  {
80  get { return _cActividadNombre; }
81  set { _cActividadNombre = value; }
82  }
83  private string _cActividadNombre = "";
84 
85 
89  public string _IdiomaNombre
90  {
91  get { return _cIdiomaNombre; }
92  set { _cIdiomaNombre = value; }
93  }
94  private string _cIdiomaNombre = "";
95 
96 
100  public override object _Parent
101  {
102  get { return loParent; }
103  set { loParent = (DestinatariosClientesPotenciales)value; }
104  }
105 
106 
107  #endregion PROPIEDADES
108 
109 
110  #region CONSTRUCTORES
111 
112 
117  {
118  return;
119  }
120 
121 
127  {
129 
130  loDestinatarioNuevo._cEmpresa = this._cEmpresa;
131  loDestinatarioNuevo._cCodigoEntidad = this._cCodigoEntidad;
132  loDestinatarioNuevo._nLinea = this._nLinea;
133  loDestinatarioNuevo._cCodigo = this._cCodigo;
134  loDestinatarioNuevo._cNombre = this._cNombre;
135  loDestinatarioNuevo._cCif = this._cCif;
136  loDestinatarioNuevo._cDireccion = this._cDireccion;
137  loDestinatarioNuevo._cCodPos = this._cCodPos;
138  loDestinatarioNuevo._cPoblacion = this._cPoblacion;
139  loDestinatarioNuevo._cProvincia = this._cProvincia;
140  loDestinatarioNuevo._cPaisNombre = this._cPaisNombre;
141  loDestinatarioNuevo._cTelefono = this._cTelefono;
142  loDestinatarioNuevo._cEmail = this._cEmail;
143  loDestinatarioNuevo._cRutaNombre = this._cRutaNombre;
144  loDestinatarioNuevo._cVendedorNombre = this._cVendedorNombre;
145  loDestinatarioNuevo._cTarifaNombre = this._cTarifaNombre;
146  loDestinatarioNuevo._cActividadNombre = this._cActividadNombre;
147  loDestinatarioNuevo._cIdiomaNombre = this._cIdiomaNombre;
148 
149  return loDestinatarioNuevo;
150  }
151 
152 
153  #endregion CONSTRUCTORES
154 
155 
156  #region MÉTODOS PROTECTED
157 
158 
162  protected override void rellenarRestoCampos()
163  {
164  string lcEmpresa = Convert.ToString(EW_GLOBAL._GetVariable("wc_empresa"));
165 
166  int lnCodigo = -1;
167  if (!Int32.TryParse(this._Codigo.Trim(), out lnCodigo))
168  lnCodigo = 0;
169 
170  DataTable ldtClientePotencial = new DataTable();
171 
172  string lcSql = "SELECT pr.codigo as codigo, " +
173  DB.SQLNvl("pr.nombre", "SPACE(120)") + " as nombre, " +
174  DB.SQLNvl("pr.cif", "SPACE(15)") + " as cif, " +
175  DB.SQLNvl("pr.direccion", "SPACE(50)") + " as direccion, " +
176  DB.SQLNvl("pr.codpost", "SPACE(10)") + " as codpost, " +
177  DB.SQLNvl("pr.poblacion", "SPACE(30)") + " as poblacion, " +
178  DB.SQLNvl("pr.provincia", "SPACE(30)") + " as provincia, " +
179  DB.SQLNvl(DB.SQLIif("pr.mobil!=' '", "pr.mobil", "pr.telefono"), "SPACE(15)") + " as telefono, " +
180  DB.SQLNvl("pr.email", "SPACE(150)") + " as email, " +
181  DB.SQLNvl("pai.nombre", "SPACE(30)") + " as paisnombre, " +
182  DB.SQLNvl("r.nombre", "SPACE(30)") + " as rutanombre, " +
183  DB.SQLNvl("v.nombre", "SPACE(50)") + " as vendedornombre," +
184  DB.SQLNvl("tr.nombre", "SPACE(30)") + " as tarifanombre, " +
185  DB.SQLNvl("a.nombre", "SPACE(30)") + " as actividadnombre, " +
186  DB.SQLNvl("id.nombre", "SPACE(30)") + " as idiomanombre " +
187  "from " + DB.SQLDatabase("gestion", "prclient") + " pr " +
188  "left join " + DB.SQLDatabase("comunes", "paises") + " pai on pai.codigo=pr.pais " +
189  "left join " + DB.SQLDatabase("gestion", "rutas") + " r on r.codigo=pr.ruta " +
190  "left join " + DB.SQLDatabase("gestion", "vendedor") + " v on v.codigo=pr.vendedor " +
191  "left join " + DB.SQLDatabase("gestion", "tarifas") + " tr on tr.codigo=pr.tarifa " +
192  "left join " + DB.SQLDatabase("gestion", "activi") + " a on a.codigo=pr.activi " +
193  "left join " + DB.SQLDatabase("gestion", "idioma") + " id on id.empresa=" + DB.SQLString(lcEmpresa) + " and id.codigo=pr.idioma "+
194  "where pr.codigo = " + lnCodigo.ToString();
195  bool llOk = DB.SQLExec(lcSql, ref ldtClientePotencial);
196 
197  if (ldtClientePotencial.Rows.Count > 0)
198  {
199  this._Nombre = Convert.ToString(ldtClientePotencial.Rows[0]["nombre"]);
200  this._Cif = Convert.ToString(ldtClientePotencial.Rows[0]["cif"]);
201  this._Direccion = Convert.ToString(ldtClientePotencial.Rows[0]["direccion"]);
202  this._CodPos = Convert.ToString(ldtClientePotencial.Rows[0]["codpost"]);
203  this._Poblacion = Convert.ToString(ldtClientePotencial.Rows[0]["poblacion"]);
204  this._Provincia = Convert.ToString(ldtClientePotencial.Rows[0]["provincia"]);
205  this._PaisNombre = Convert.ToString(ldtClientePotencial.Rows[0]["paisnombre"]);
206  this._Telefono = Convert.ToString(ldtClientePotencial.Rows[0]["telefono"]);
207  this._Email = Convert.ToString(ldtClientePotencial.Rows[0]["email"]);
208  this._RutaNombre = Convert.ToString(ldtClientePotencial.Rows[0]["rutanombre"]);
209  this._TarifaNombre = Convert.ToString(ldtClientePotencial.Rows[0]["tarifanombre"]);
210  this._VendedorNombre = Convert.ToString(ldtClientePotencial.Rows[0]["vendedornombre"]);
211  this._ActividadNombre = Convert.ToString(ldtClientePotencial.Rows[0]["actividadnombre"]);
212  this._IdiomaNombre = Convert.ToString(ldtClientePotencial.Rows[0]["idiomanombre"]);
213  }
214 
215  // Si estamos en un comunicado y tenemos valores seleccionados en las combos de tipo destino ya rellenaremos la
216  // columna de email/dir.postal.
217  //
218  DestinatariosClientesPotenciales loManteTRelDestinatarios = (DestinatariosClientesPotenciales)this._Parent;
219  if (loManteTRelDestinatarios._ewMantePrincipal != null)
220  {
221  // Las clases GrupoDestComunicados y Comunicados son las que cumplen IEntidadConDestinatarios
222  //
223  IEntidadConDestinatarios loEntidadConDestinatarios = (IEntidadConDestinatarios)loManteTRelDestinatarios._ewMantePrincipal;
224  if (loEntidadConDestinatarios._TipoParentDestinatarios == TipoParentDestinatarios.Comunicado)
225  {
226  Comunicados loComunicado = (Comunicados)loEntidadConDestinatarios;
227  switch (loComunicado._TipoEnvio)
228  {
229  case TipoEnvioComunicados.EMail:
231  {
232  this._Destino = ldtClientePotencial.Rows.Count > 0 ? Convert.ToString(ldtClientePotencial.Rows[0]["email"]) : "";
233  this._Email = this._Destino;
234  }
235  else
236  {
237  this._Destino = "";
238  }
239  break;
240 
241  case TipoEnvioComunicados.Impreso:
243  {
244  string lcDireccion = "";
245  if (ldtClientePotencial.Rows.Count > 0)
246  lcDireccion = Convert.ToString(ldtClientePotencial.Rows[0]["direccion"]).Trim() + " " +
247  Convert.ToString(ldtClientePotencial.Rows[0]["codpost"]).Trim() + " " +
248  Convert.ToString(ldtClientePotencial.Rows[0]["poblacion"]).Trim() + " " +
249  Convert.ToString(ldtClientePotencial.Rows[0]["provincia"]).Trim();
250  this._Destino = lcDireccion;
251  }
252  else
253  {
254  this._Destino = "";
255  }
256 
257  break;
258 
259  }
260 
261  }
262  }
263 
264  FUNCTIONS._DisposeDatatable(ldtClientePotencial);
265 
266  return;
267  }
268 
269 
270  #endregion MÉTODOS PROTECTED
271  }
272 
273 
274  #endregion CLASES
275 
276 
277  #region CONSTRUCTORES
278 
279 
284  public DestinatariosClientesPotenciales(TipoParentDestinatarios toTipoParentDestinatarios) : base(toTipoParentDestinatarios)
285  {
286  }
287 
288 
294  public DestinatariosClientesPotenciales(TipoParentDestinatarios toTipoParentDestinatarios, string tcCodigo) : base(toTipoParentDestinatarios, tcCodigo)
295  {
296  if (this._TipoParentDestinatarios == TipoParentDestinatarios.Comunicado)
297  this._Claves._Empresa._Valor = this._lcEmpresa;
298  else
299  this._Claves._Empresa._Valor = tcCodigo;
300 
301  this._Claves._CodigoEntidad._Valor = tcCodigo;
302 
303  return;
304  }
305 
306 
307  #endregion CONSTRUCTORES
308 
309 
310  #region MÉTODOS PROTECTED OVERRIDE
311 
312 
316  protected override void CrearEstructura()
317  {
318  // Preparar la parte común del mantetrel que es común a todos los tipos de destinatarios.
319  //
320  base.CrearEstructura();
321 
322  // Campos con mantenimiento.
323  //
324  ewCampoTRel _Def_ClientePotencial = this._AddCampoTRel("_Codigo", "Clave", ewCampoTRel.Visible.Si, ewCampoTRel.Updatable.Si, ewCampoTRel.Editable.Si, "Cliente potencial");
325  {
326  // Validaciones
327  //
328  _Def_ClientePotencial._Validar_Dato_BaseDatos = "Gestion";
329  _Def_ClientePotencial._Validar_Dato_Tabla = "Prclient";
330  _Def_ClientePotencial._Validar_Dato_Clave = "Codigo";
331  _Def_ClientePotencial._Validar_Dato_Campos = "Nombre";
332  _Def_ClientePotencial._Validar_Asignar_Cargando = false;
333  _Def_ClientePotencial._Validar_Dato_CampoTRel_Asignar = "";
334  _Def_ClientePotencial._Error_Validar_Dato = "El código de cliente potencial indicado no existe.";
335  _Def_ClientePotencial._PermiteDuplicados = false;
336  _Def_ClientePotencial._Error_Duplicados = "El código de cliente potencial ya existe.";
337 
338  // Configurar el browser.
339  //
340  _Def_ClientePotencial._Browser = new sage.ew.botones.btBrowser();
341  _Def_ClientePotencial._Browser._Campos = "Codigo, Nombre, Cif, Direccion, CodPost, Poblacion, Provincia, Email, Telefono, Mobil, Tarifa, Ruta, Vendedor, activi";
342  _Def_ClientePotencial._Browser._Campo_Predet = "Nombre";
343  _Def_ClientePotencial._Browser._Clave = "Codigo";
344  _Def_ClientePotencial._Browser._DataBase = "Gestion";
345  _Def_ClientePotencial._Browser._Tabla = "Prclient";
346  _Def_ClientePotencial._Browser._Titulo = "Listado de clientes potenciales";
347  _Def_ClientePotencial._Browser._Titulos_Campos = "Código,Nombre,CIF,Dirección,C.Postal,Población,Provincia,Email,Telefono,Móvil,Tarifa,Ruta,Vendedor,Actividad";
348  _Def_ClientePotencial._Browser.NombreMantenimiento = "AGENDA";
349 
350  if (this._TipoParentDestinatarios == TipoParentDestinatarios.GrupoDestinatarios)
351  _Def_ClientePotencial._Browser._Tooltip = "Acceder a la consulta de clientes potenciales";
352  else
353  _Def_ClientePotencial._Browser._Tooltip = "Acceder a la consulta de clientes potenciales o a la consulta de grupos de destinatarios clientes potenciales";
354 
355  _Def_ClientePotencial._Browser._Seleccion_Multiple = true;
356 
357  // Configurar el mantenimiento.
358  //
359  _Def_ClientePotencial._Mante = new sage.ew.botones.btMante();
360  _Def_ClientePotencial._Mante._NombreManteNet = "AGENDA";
361  _Def_ClientePotencial._Mante._Tooltip = "Acceder al mantenimiento de clientes potenciales";
362  }
363 
364  // Campos virtuales que dependen de clientes potenciales
365  //
366  this._AddCampoTRel("_PaisNombre", "", ewCampoTRel.Visible.Si, ewCampoTRel.Updatable.No, ewCampoTRel.Editable.No, "País", gridColumnsTypes.Texto, null, 20);
367 
368  this._AddCampoTRel("_RutaNombre", "", ewCampoTRel.Visible.Si, ewCampoTRel.Updatable.No, ewCampoTRel.Editable.No, "Ruta", gridColumnsTypes.Texto, null, 20);
369 
370  this._AddCampoTRel("_VendedorNombre", "", ewCampoTRel.Visible.Si, ewCampoTRel.Updatable.No, ewCampoTRel.Editable.No, "Vendedor", gridColumnsTypes.Texto, null, 20);
371 
372  this._AddCampoTRel("_TarifaNombre", "", ewCampoTRel.Visible.Si, ewCampoTRel.Updatable.No, ewCampoTRel.Editable.No, "Tarifa", gridColumnsTypes.Texto, null, 20);
373 
374  this._AddCampoTRel("_ActividadNombre", "", ewCampoTRel.Visible.Si, ewCampoTRel.Updatable.No, ewCampoTRel.Editable.No, "Actividad", gridColumnsTypes.Texto, null, 20);
375 
376  this._AddCampoTRel("_IdiomaNombre", "", ewCampoTRel.Visible.Si, ewCampoTRel.Updatable.No, ewCampoTRel.Editable.No, "Idioma", gridColumnsTypes.Texto, null, 20);
377 
378 
379 
380  // Al haber distribuido el añadido de campos al ManteTRel parte en la base y parte aquí, el orden en que queremos que aparezcan las propiedades
381  // en visual si se vincula el ManteTRel a una grid ha quedado alterado.
382  //
383  // A continuación especificamos el orden en que queremos que aparezcan.
384  //
385  List<string> lstPropiedadesOrdenadas = new List<string>() { "_CodigoEntidad", "_Linea", "_Codigo", "_Nombre", "_Cif", "_Direccion", "_CodPos",
386  "_Poblacion", "_Provincia", "_PaisNombre", "_Telefono", "_Email",
387  "_RutaNombre", "_VendedorNombre", "_TarifaNombre", "_ActividadNombre", "_IdiomaNombre"};
388 
389  if (this._TipoParentDestinatarios == TipoParentDestinatarios.Comunicado)
390  {
391  // En comunicados insertamos este campo _Destino al principio del registro de la grid.
392  //
393  List<string> lstCamposComunicados = new List<string>() { "_Destino" };
394  lstPropiedadesOrdenadas.InsertRange(2, lstCamposComunicados);
395 
396  // En comunicados insertamos este campo _FechaEnvio al final del registro de la grid.
397  //
398  lstCamposComunicados = new List<string>() { "_FechaEnvio" };
399  lstPropiedadesOrdenadas.InsertRange(lstPropiedadesOrdenadas.Count, lstCamposComunicados);
400  }
401 
402  this.ordenarPropiedades(lstPropiedadesOrdenadas);
403 
404  return;
405  }
406 
407 
408  #endregion MÉTODOS PROTECTED OVERRIDE
409 
410 
411  #region MÉTODOS PÚBLICOS OVERRIDE
412 
418  public override void _Load()
419  {
420  this._bIsLoading = true;
421 
422  string lcEmpresa = Convert.ToString(EW_GLOBAL._GetVariable("wc_empresa"));
423 
424  DataTable ldtClientesPotenciales = new DataTable();
425 
426  string lcCodigoEntidad = this._ewMantePrincipal._Codigo;
427  string lcCondiWhere = "";
428 
429  if (this._TipoParentDestinatarios == TipoParentDestinatarios.Comunicado)
430  {
431  this._Claves._Empresa._Valor = this._lcEmpresa;
432  lcCondiWhere = " dest.empresa=" + DB.SQLString(this._lcEmpresa) + " and dest.codigo=" + DB.SQLString(lcCodigoEntidad) + " ";
433  }
434  else
435  {
436  this._Claves._Empresa._Valor = lcCodigoEntidad;
437  lcCondiWhere = " dest.codigo=" + DB.SQLString(lcCodigoEntidad) + " ";
438  }
439 
440  this._Claves._CodigoEntidad._Valor = lcCodigoEntidad;
441 
442  base._Load();
443 
444  // Consulta para obtener todos los campos virtuales del registro del ManteTRel de destinatarios de tipo 'clientes potencial'.
445  //
446  string lcSql = "SELECT RTRIM(LTRIM(CAST(dest.clave as char))) as codigo, " +
447  DB.SQLNvl("pr.nombre", "SPACE(120)") + " as nombre, " +
448  DB.SQLNvl("pr.cif", "SPACE(15)") + " as cif, " +
449  DB.SQLNvl("pr.direccion", "SPACE(50)") + " as direccion, " +
450  DB.SQLNvl("pr.codpost", "SPACE(10)") + " as codpost, " +
451  DB.SQLNvl("pr.poblacion", "SPACE(30)") + " as poblacion, " +
452  DB.SQLNvl("pr.provincia", "SPACE(30)") + " as provincia, " +
453  DB.SQLNvl(DB.SQLIif("pr.mobil!=' '", "pr.mobil", "pr.telefono"), "SPACE(15)") + " as telefono, " +
454  DB.SQLNvl("pr.email", "SPACE(150)") + " as email, " +
455  DB.SQLNvl("pai.nombre", "SPACE(30)") + " as paisnombre, " +
456  DB.SQLNvl("r.nombre", "SPACE(30)") + " as rutanombre, " +
457  DB.SQLNvl("v.nombre", "SPACE(50)") + " as vendedornombre," +
458  DB.SQLNvl("tr.nombre", "SPACE(30)") + " as tarifanombre, " +
459  DB.SQLNvl("a.nombre", "SPACE(30)") + " as actividadnombre, " +
460  DB.SQLNvl("id.nombre", "SPACE(30)") + " as idiomanombre " +
461  "from " + DB.SQLDatabase("gestion", this._Tabla) + " dest " +
462  "left join " + DB.SQLDatabase("gestion", "prclient") + " pr on pr.codigo=cast(dest.clave as int) " +
463  "left join " + DB.SQLDatabase("comunes", "paises") + " pai on pai.codigo=pr.pais " +
464  "left join " + DB.SQLDatabase("gestion", "rutas") + " r on r.codigo=pr.ruta " +
465  "left join " + DB.SQLDatabase("gestion", "vendedor") + " v on v.codigo=pr.vendedor " +
466  "left join " + DB.SQLDatabase("gestion", "tarifas") + " tr on tr.codigo=pr.tarifa " +
467  "left join " + DB.SQLDatabase("gestion", "activi") + " a on a.codigo=pr.activi " +
468  "left join " + DB.SQLDatabase("gestion", "idioma") + " id on id.empresa=" + DB.SQLString(lcEmpresa) + " and id.codigo=pr.idioma " +
469  "where " + lcCondiWhere;
470 
471  bool llOk = DB.SQLExec(lcSql, ref ldtClientesPotenciales);
472  string lcClientePotencial = "";
473 
474  foreach (DestinatarioClientePotencial loDestinatario in this._Items)
475  {
476  // Para cada destinatario declarado en el ManteTRel de destinatarios de proveedores busco sus datos.
477  //
478  lcClientePotencial = loDestinatario._Codigo.Trim();
479  DataRow[] laRows = ldtClientesPotenciales.Select("codigo='"+lcClientePotencial+"'");
480  if (laRows.Count() > 0)
481  {
482  loDestinatario._Nombre = Convert.ToString(laRows[0]["nombre"]);
483  loDestinatario._Cif = Convert.ToString(laRows[0]["cif"]);
484  loDestinatario._Direccion = Convert.ToString(laRows[0]["direccion"]);
485  loDestinatario._CodPos = Convert.ToString(laRows[0]["codpost"]);
486  loDestinatario._Poblacion = Convert.ToString(laRows[0]["poblacion"]);
487  loDestinatario._Provincia = Convert.ToString(laRows[0]["provincia"]);
488  loDestinatario._PaisNombre = Convert.ToString(laRows[0]["paisnombre"]);
489  loDestinatario._Telefono = Convert.ToString(laRows[0]["telefono"]);
490  loDestinatario._Email = Convert.ToString(laRows[0]["email"]);
491  loDestinatario._RutaNombre = Convert.ToString(laRows[0]["rutanombre"]);
492  loDestinatario._TarifaNombre = Convert.ToString(laRows[0]["tarifanombre"]);
493  loDestinatario._VendedorNombre = Convert.ToString(laRows[0]["vendedornombre"]);
494  loDestinatario._ActividadNombre = Convert.ToString(laRows[0]["actividadnombre"]);
495  loDestinatario._IdiomaNombre = Convert.ToString(laRows[0]["idiomanombre"]);
496  }
497  }
498 
499  FUNCTIONS._DisposeDatatable(ldtClientesPotenciales);
500 
501  this._bIsLoading = false;
502 
503  return;
504  }
505 
506 
507  #endregion MÉTODOS PÚBLICOS OVERRIDE
508  }
509 }
ManteTRel de destinatarios de tipo &#39;Clientes potenciales&#39;
sage.ew.botones.btMante _Mante
Mantenimiento para la columna del grid o campo enlazado
OrigenEmailClientesPotenciales
Enumeración que define los posibles orígenes de dirección email a utilizar en envío de comunicados em...
bool _PermiteDuplicados
Indica si se permiten valores duplicados comparando el campo con todos los registros cargados ...
string _Validar_Dato_Clave
Clave por la cual se buscará el valor a la tabla de validación
int _DestinoEnvio1
Tipo de dirección email a utilizar (caso comunicado tipo email), o tipo de dirección postal a utiliza...
Definition: Comunicados.cs:315
DestinatariosClientesPotenciales(TipoParentDestinatarios toTipoParentDestinatarios)
Inicializa una nueva intancia de la clase DestinatariosClientesPotenciales
Clase ManteTRel base utilizada para todos los tipos de destinatarios (destinatarios clientes...
string _Validar_Dato_BaseDatos
Base de datos donde se validará si el dato existe
Browser, basat en sage.ew.objetos.ewbutton
Es como el tipo de entrada asientos pero por negocio, sin formulario, pq quiero que me haga las propu...
string _Validar_Dato_Tabla
Tabla donde se validará si el dato existe
override void _Load()
Carga del ManteTRel de destinatarios de tipo proveedor, se carga el ManteTRel el único campo físico q...
sage.ew.botones.btBrowser _Browser
Browser para la columna del grid o campo enlazado
OrigenDirPostalClientesPotenciales
Enumeración que define los posibles orígenes de dirección postal a utilizar en envío de comunicados i...
Definición de los objetos campo para las tablas relacionadas
Updatable
Actualizable. Existe el campo en la tabla.
override void CrearEstructura()
Estructura del mantetrel de destinatarios clientes potenciales.
override void rellenarRestoCampos()
Rellenar resto de campos del registro a partir del código.
DestinatarioClientePotencial()
Inicializa una nueva intancia de la clase DestinatarioClientePotencial.
TipoParentDestinatarios
Enumeración que define los posibles tipos de entidades padres que pueden acoger destinatarios, en nuestro caso, grupos de destinatarios y comunicados.
TipoParentDestinatarios _TipoParentDestinatarios
Tipo de entidad contenedora de destinatarios.
Definition: IComunicado.cs:353
Definir la estructura de las líneas de destinatarios en un grupo de destinatarios o en un comunicado ...
Muestra el mantenimiento correspondiente a _Form con el registro correspondiente al _Codigo ...
Editable
Premitirá modificar su valor
string _Validar_Dato_CampoTRel_Asignar
Destino del valor recuperado en la consulta de validación
TipoEnvioComunicados
Enumeración que define los posibles tipos de envío en comunicados.
string _Validar_Dato_Campos
Campos que se recuperarán en la consulta de validación
string _Error_Duplicados
Mensaje de error que se mostrará al insertar un valor duplicado
Clase de negocio para el mantenimiento de comunicados.
Definition: Comunicados.cs:24
DestinatariosClientesPotenciales(TipoParentDestinatarios toTipoParentDestinatarios, string tcCodigo)
Inicializa una nueva intancia de la clase DestinatariosClientesPotenciales
gridColumnsTypes
Definición de los tipos de columnas para los grids o campos enlazados
Interface utilizada por los mantenimientos que tienen grid de destinatarios (mantenimiento de grupos ...
Definition: IComunicado.cs:295
Interface mantetrel destinatarios con las propiedades y métodos de la clase ManteTRel que utilizaremo...
Definition: IComunicado.cs:109
DestinatarioClientePotencial _Clonar()
Método para clonar un objeto detinatario de tipo cliente potencial.
Visible
Visible en el grid
bool _Validar_Asignar_Cargando
Indica si se buscará el dato en la tabla correspondiente mientras se ejecuta el _Load() ...
string _Error_Validar_Dato
Mensaje de error que se mostrará al insertar un dato no válido