ClientesBrowserExtension.cs
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Drawing;
5 using System.Data;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
10 using sage.ew.db;
11 
12 namespace sage.ew.cliente.UserControls
13 {
18  {
19  private DataRow previousRow = null;
20 
25  {
26  InitializeComponent();
27 
28  btSkype1.FlatAppearance.BorderSize = 0;
29  btSkype1.FlatAppearance.BorderColor = Color.FromArgb(0, 255, 255, 255);
30  btSkype1._PropiedadesDeEstilos._AplicarEstilos = false;
31  }
32 
38  public override bool _ValidateRequiredFields(DataGridViewColumnCollection gridcolumns)
39  {
40  if (_RequiredFields.Count == 0 && !string.IsNullOrWhiteSpace(_Clave))
41  {
42  _RequiredFields = _Clave.Split(',').ToList<string>();
43  }
44 
45  return base._ValidateRequiredFields(gridcolumns);
46  }
47 
53  public override void _CurrentCellChanged(object sender, EventArgs e)
54  {
55  try
56  {
57  // Si se ha cambiado de línea
58  if (_CurrentRow != null)
59  {
60  if (previousRow == null || previousRow != _CurrentRow)
61  {
62  // Leemos los datos del cliente
63  Cliente cliente = null;
64  string codigo = "";
65 
66  if (_CurrentRow.Table.Columns.Contains(_Clave))
67  {
68  codigo = _CurrentRow[_Clave].ToString().Trim();
69  cliente = new Cliente(codigo);
70  }
71 
72  if (cliente != null)
73  {
74  ewlabelCliente.Text = codigo + " - " + cliente._Nombre;
75  ewtxtMensajeDocVenta.Text = cliente._MensajePedAlba;
76  ewtxtObservaciones.Text = cliente._Observaciones;
77 
78  //Refresquem el usercontrol amb la resta de contactes
79  btSkype1._Clear();
80  btSkype1._Refresh(cliente);
81 
82  cliente.Dispose();
83  cliente = null;
84  }
85  else
86  {
87  ewlabelCliente.Text = "";
88  ewtxtMensajeDocVenta.Text = "";
89  ewtxtObservaciones.Text = "";
90 
91  btSkype1._Clear();
92  btSkype1._Refresh(null);
93  }
94 
95  previousRow = _CurrentRow;
96  }
97  }
98  else
99  {
100  ewlabelCliente.Text = "";
101  ewtxtMensajeDocVenta.Text = "";
102  ewtxtObservaciones.Text = "";
103 
104  btSkype1._Clear();
105  btSkype1._Refresh(null);
106  }
107  }
108  catch (Exception ex)
109  {
110  DB.Registrar_Error(ex);
111  }
112  }
113 
114  // Track whether Dispose has been called.
115  private bool disposed = false;
116 
120  public new void Dispose()
121  {
122  Dispose(true);
123  _Dispose(true);
124  }
125 
130  public override void _Dispose(bool disposing)
131  {
132  // Check to see if Dispose has already been called.
133  if (!this.disposed)
134  {
135  // Note disposing has been done.
136  disposed = true;
137  }
138 
139  btSkype1._Clear();
140  btSkype1._Refresh(null);
141 
142  base._Dispose(disposing);
143 
144  GC.Collect();
145  }
146  }
147 }
new void Dispose()
Part of the IDisposable pattern
Definition: clsCliente.cs:9316
string _Observaciones
Observaciones
string _MensajePedAlba
Mensaje en pedido de venta / albarán
override void _CurrentCellChanged(object sender, EventArgs e)
Capturamos el cambio de línia para refrescar los datos a partir de _CurrentRow
override string _Nombre
Nombre del cliente a partir del campo NOMBRE de la tabla CLIENTES de la base de datos de GESTION de E...
override void _Refresh()
Capturamos el _Refresh para refrescar el formulario asociado
Definition: clsEwBase.cs:4757
ClientesBrowserExtension()
Inicializa una nueva instancia de la clase
Usercontrol base para la extensión de los browser
override bool _ValidateRequiredFields(DataGridViewColumnCollection gridcolumns)
Método para comprobar que en el resultado del browser existan los campos necesarios ...
override void _Dispose(bool disposing)
Implemento un dispose propio para poder heredar