clsActividadesCliente.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data;
6 using System.Drawing;
7 using System.Windows.Forms;
8 using System.Globalization;
9 using System.IO;
10 using System.Xml;
11 
12 using sage.ew.ewbase;
13 using sage.ew.db;
14 using sage.ew.global;
15 using sage.ew.netvfp;
16 using sage.ew.formul;
17 using sage.ew.formul.Forms;
18 using sage.ew.cliente.Clases;
19 using sage.ew.listados.Clases;
20 using sage.ew.objetos;
21 using System.ComponentModel;
22 using sage.ew.interficies;
23 
24 namespace sage.ew.cliente
25 {
29  public partial class Cliente
30  {
34  public class Actividades : ewManteTRel<Actividades.Actividad, Actividades.Clave>
35  {
36  // Declarem els delegats pels events
40  public delegate void _Error_Validar_Actividad_Handler(string tcErrorMessage);
41 
42  // Declarem els events.
46  public event _Error_Validar_Actividad_Handler _Error_Validar_Actividad;
47 
51  public override string _NombreManteTRel { get; } = "Actividades";
52 
56  public Actividades()
57  {
58  CrearEstructura();
59  }
60 
64  public Actividades(string tcCodigoCliente)
65  {
66  CrearEstructura();
67 
68  this._Claves._Cliente._Valor = tcCodigoCliente;
69  }
70 
71  private void CrearEstructura()
72  {
73  // Events
74  this._Error_Validar_Valor += new _Error_Validar_Valor_Handler(Actividades__Error_Validar_Valor);
75 
76  // Definir la base
77  this._DataBase = "Gestion";
78  this._Tabla = "Acti_Cli";
79  this._Condicion = "";
80  this._Titulo_Browser = "Buscar actividad";
81 
82  // Definir el formulari associat
83  this._FormManteTRelBaseType = typeof(sage.ew.cliente.Forms.frmActividadesCliente);
84 
85  // Omplim els camps i relació de propietats
86  bool Visible = true;
87  bool NoVisible = false;
88  bool Editable = true;
89  bool NoEditable = false;
90  bool Updatable = true;
91  bool NoUpdatable = false;
92  string Titulo_Actividad = "Actividad";
93  string Titulo_Nombre = "Nombre";
94 
95  // Camp client
96  this._AddCampoTRel("_Cliente", "Cliente", NoVisible, Updatable, NoEditable);
97 
98  // Camp activitat
99  ewCampoTRel _Def_Actividad = this._AddCampoTRel("_Actividad", "Actividad", Visible, Updatable, Editable, Titulo_Actividad);
100  {
101  // Validacions
102  _Def_Actividad._PermiteDuplicados = false;
103  _Def_Actividad._Validar_Dato_BaseDatos = "Gestion";
104  _Def_Actividad._Validar_Dato_Tabla = "Activi";
105  _Def_Actividad._Validar_Dato_Clave = "Codigo";
106  _Def_Actividad._Validar_Dato_Campos = "Nombre";
107  _Def_Actividad._Validar_Asignar_Cargando = true;
108  _Def_Actividad._Validar_Dato_CampoTRel_Asignar = "_Nombre";
109  _Def_Actividad._Error_Duplicados = "Esta actividad ya está asignada al cliente." + Environment.NewLine + "No se permiten valores duplicados en la actividad.";
110  _Def_Actividad._Error_Validar_Dato = "El código de actividad indicado no existe.";
111  // Configurar el browser
112  _Def_Actividad._Browser = new sage.ew.botones.btBrowser();
113  _Def_Actividad._Browser._Campos = "Codigo,Nombre";
114  _Def_Actividad._Browser._Campo_Predet = "Nombre";
115  _Def_Actividad._Browser._Clave = "Codigo";
116  _Def_Actividad._Browser._DataBase = "Gestion";
117  _Def_Actividad._Browser._Tabla = "Activi";
118  _Def_Actividad._Browser._Titulo = "Listado de actividades";
119  _Def_Actividad._Browser._Titulos_Campos = "Código,Nombre";
120 
121  _Def_Actividad._Browser.NombreMantenimiento = "ACTIVIDAD";
122  // Configurar el manteniment
123  _Def_Actividad._Mante = new sage.ew.botones.btMante();
124  _Def_Actividad._Mante._NombreManteNet = "ACTIVIDAD";
125  // Rellenar con zeros en la columna de código de actividad
126  _Def_Actividad._Relleno = '0';
127  }
128 
129  // Camp agregat nombre
130  this._AddCampoTRel("_Nombre", "", Visible, NoUpdatable, NoEditable, Titulo_Nombre);
131 
132  if (DB.SQLExisteCampo(this._DataBase, this._Tabla, "Guid"))
133  this._AddCampoTRel("_Guid", "Guid", ewCampoTRel.Visible.No, ewCampoTRel.Updatable.Si, ewCampoTRel.Editable.No);
134 
135  if (DB.SQLExisteCampo(this._DataBase, this._Tabla, "Importar"))
136  this._AddCampoTRel("_Importar", "Importar", ewCampoTRel.Visible.No, ewCampoTRel.Updatable.Si, ewCampoTRel.Editable.No);
137 
138  if (DB.SQLExisteCampo(this._DataBase, this._Tabla, "Guid_exp"))
139  this._AddCampoTRel("_Guid_Exp", "Guid_exp", ewCampoTRel.Visible.No, ewCampoTRel.Updatable.Si, ewCampoTRel.Editable.No);
140 
141  if (DB.SQLExisteCampo(this._DataBase, this._Tabla, "Exportar"))
142  this._AddCampoTRel("_Exportar", "Exportar", ewCampoTRel.Visible.No, ewCampoTRel.Updatable.Si, ewCampoTRel.Editable.No);
143 
144  if (DB.SQLExisteCampo(this._DataBase, this._Tabla, "Com_estado"))
145  this._AddCampoTRel("_Com_estado", "Com_estado", ewCampoTRel.Visible.No, ewCampoTRel.Updatable.Si, ewCampoTRel.Editable.No);
146 
147  if (DB.SQLExisteCampo(this._DataBase, this._Tabla, "Com_fecha"))
148  this._AddCampoTRel("_Com_fecha", "Com_fecha", ewCampoTRel.Visible.No, ewCampoTRel.Updatable.Si, ewCampoTRel.Editable.No);
149 
150  if (DB.SQLExisteCampo(this._DataBase, this._Tabla, "Com_ini"))
151  this._AddCampoTRel("_Com_ini", "Com_ini", ewCampoTRel.Visible.No, ewCampoTRel.Updatable.Si, ewCampoTRel.Editable.No);
152 
153  if (DB.SQLExisteCampo(this._DataBase, this._Tabla, "Sucursal"))
154  this._AddCampoTRel("_Sucursal", "Sucursal", ewCampoTRel.Visible.No, ewCampoTRel.Updatable.Si, ewCampoTRel.Editable.No);
155 
156  if (DB.SQLExisteCampo(this._DataBase, this._Tabla, "Guid_Id"))
157  this._AddCampoTRel("_Guid_Id", "Guid_Id", ewCampoTRel.Visible.No, ewCampoTRel.Updatable.Si, ewCampoTRel.Editable.No);
158 
159  }
160 
164  protected override void _Configurar_Grid()
165  {
166  base._Configurar_Grid();
167  this._ManteGrid._DataSource_Row_New_Event += new objetos.UserControls.Mantegrid._DataSource_Row_New_Event_Handler(Actividades_ManteGrid__DataSource_Row_New_Event);
168  }
169 
174  void Actividades_ManteGrid__DataSource_Row_New_Event(int tnInsertLinea)
175  {
176  this._CurrentItem._Actividad = new string(' ', 2); ;
177  }
178 
179  private void Actividades__Error_Validar_Valor(string tcErrorMessage)
180  {
181  if (_Error_Validar_Actividad != null)
182  {
183  _Error_Validar_Actividad(tcErrorMessage);
184  _Refresh();
185  }
186  }
187 
191  public class Clave : IClaves
192  {
196  public ClaveTRel _Cliente { get; set; }
197 
201  public ClaveTRel _Actividad { get; set; }
202 
206  public Clave()
207  {
208  // Definim les propietats de cada una de les claus
209  _Cliente = new ClaveTRel();
210  _Cliente._EsFiltro = true; // Actuarà com a filtre per recuperar els registres
211  _Cliente._Valor = "";
212 
213  _Actividad = new ClaveTRel();
214  _Actividad._EsFiltro = false;
215  _Actividad._Valor = "";
216 
217  // Per defecte, totes les ClaveTRel son EsClave = true
218  }
219  }
220 
224  public class Actividad : ILinTRel
225  {
226  // Definició dels camps
227  private string _cCliente = "";
231  public string _Cliente
232  {
233  get { return _cCliente; }
234  set
235  {
236  if (value != _cCliente)
237  {
238  _cCliente = value;
239  loParent._Exportar_Null();
240  }
241  }
242  }
243 
244  private string _cActividad = "";
248  public string _Actividad
249  {
250  get { return _cActividad; }
251  set
252  {
253  if (_cActividad.Trim() != value.Trim())
254  {
255  // S'ha de comprovar que no repeteixin l'activitat
256  if (loParent != null)
257  {
258  object loNewValor;
259  if (loParent.CamposTRel_Validar_Valor("_Actividad", value, this, out loNewValor))
260  value = _cActividad;
261  else
262  value = loNewValor.ToString();
263  }
264  }
265 
266  if (_cActividad.Trim() != value.Trim())
267  {
268  _cActividad = value;
269  loParent._Exportar_Null();
270  }
271  }
272  }
273 
274 
275  private object _cNombre = "";
279  public object _Nombre
280  {
281  get { return _cNombre; }
282  set { _cNombre = value; }
283  }
284 
288  public string _Guid_Exp
289  {
290  get { return _cGuid_Exp; }
291  set { _cGuid_Exp = value; }
292  }
293  private string _cGuid_Exp = "";
294 
298  public string _Guid
299  {
300  get { return _cGuid; }
301  set { _cGuid = value; }
302  }
303  private string _cGuid = "";
304 
308  public DateTime? _Importar
309  {
310  get { return _dImportar; }
311  set { _dImportar = value; }
312  }
313  private DateTime? _dImportar;
314 
315 
319  public DateTime? _Exportar
320  {
321  get { return _dExportar; }
322  set { _dExportar = value; }
323  }
324  private DateTime? _dExportar;
325 
329  public int _Com_estado
330  {
331  get { return _nCom_estado; }
332  set { _nCom_estado = value; }
333  }
334  private int _nCom_estado = 0;
335 
339  public DateTime _Com_fecha
340  {
341  get { return _dCom_fecha; }
342  set { _dCom_fecha = value; }
343  }
344  private DateTime _dCom_fecha;
345 
349  public DateTime _Com_ini
350  {
351  get { return _dCom_ini; }
352  set { _dCom_ini = value; }
353  }
354  private DateTime _dCom_ini;
355 
359  public string _Sucursal
360  {
361  get { return _cSucursal; }
362  set { _cSucursal = value; }
363  }
364  private string _cSucursal = "";
365 
369  public string _Guid_Id
370  {
371  get
372  {
373  if (string.IsNullOrWhiteSpace(_cGuid_Id))
374  {
375  _cGuid_Id = Guid.NewGuid().ToString().ToUpper();
376  }
377  return _cGuid_Id;
378  }
379  set { _cGuid_Id = value; }
380  }
381  private string _cGuid_Id = "";
382 
383  private Actividades loParent;
387  public object _Parent
388  {
389  get { return loParent; }
390  set { loParent = (Actividades)value; }
391  }
392 
396  public Actividad()
397  {
398 
399  }
400 
405  public bool Fila_Plena()
406  {
407  bool lbFilaPlena;
408 
409  lbFilaPlena = !string.IsNullOrWhiteSpace(_Actividad);
410 
411  return lbFilaPlena;
412  }
413  }
414  }
415  }
416 }
_Error_Validar_Actividad_Handler _Error_Validar_Actividad
Se dispara al añadir un nuevo registro cuando el DataSource no es un DataTable
sage.ew.botones.btMante _Mante
Mantenimiento para la columna del grid o campo enlazado
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
Definir la estructura de las direcciones de clientes
Actividades()
Inicializa una nueva intancia de la clase
Definición de los objetos campo para las tablas relacionadas
string _Validar_Dato_BaseDatos
Base de datos donde se validará si el dato existe
Browser, basat en sage.ew.objetos.ewbutton
Actividad()
Inicializa una nueva intancia de la clase
string _Validar_Dato_Tabla
Tabla donde se validará si el dato existe
override void _Configurar_Grid()
Configurar el grid asociado a la tabla relacionada
sage.ew.botones.btBrowser _Browser
Browser para la columna del grid o campo enlazado
Definición de los objetos campo para las tablas relacionadas
Updatable
Actualizable. Existe el campo en la tabla.
Clave()
Inicializa una nueva instancia de la clase
Actividades(string tcCodigoCliente)
Inicializa una nueva intancia de la clase
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
Interfaz para objetos línea
Definition: ILinTRel.cs:11
bool Fila_Plena()
Devuelve si la línea está completa
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
Interfaz para la definición de las claves para tablas relacionadas
Definition: IClaves.cs:11
Clase para el acceso a las tablas relacionadas de los mantenimientos.
char _Relleno
Introduce tantos carácteres al inicio del campo hasta la longitud del campo
Visible
Visible en el grid
bool _Validar_Asignar_Cargando
Indica si se buscará el dato en la tabla correspondiente mientras se ejecuta el _Load() ...
Campos clave para registros únicos
string _Error_Validar_Dato
Mensaje de error que se mostrará al insertar un dato no válido