txtMandatos.cs
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Text;
7 using System.Windows.Forms;
8 using System.Linq;
9 
10 using sage.ew.cliente;
11 using sage.ew.cliente.Clases;
12 using sage.ew.global;
13 using sage.ew.formul;
14 using sage.ew.db;
15 using sage.ew.functions;
16 using sage.ew.contabilidad;
18 
19 namespace sage.ew.txtbox.UserControls
20 {
24  public partial class txtMandatos : ewtxtcodlabel
25  {
26  #region PROPIEDADES PRIVADAS
27 
28  private string _cCliente = string.Empty;
29  private Cliente _oCliente = new Cliente();
30  private int _nBanc_Cli = -1;
31  private int _nVigencia = 0;
32  private bool _lValidar = false;
33  private bool _lTodosLosMandatosSiClienteVacio = false;
34  private string _cTodosLosMandatosSiClienteVacio_ClienteDesde = "";
35  private string _cTodosLosMandatosSiClienteVacio_ClienteHasta = "";
36 
37  #endregion
38 
42  public txtMandatos()
43  {
44  InitializeComponent();
45 
46  _Mante_Click_Before += new Delegar_Mante_Before(txtMandatos__Mante_Click_Before);
47  }
48 
54  void txtMandatos__Mante_Click_Before(ref bool tlOk)
55  {
56  // Hemos de mostrar la ficha de cliente situado en la pestaña de Mandatos Sepa.
57  //
58  // Realizamos la acción en el _Mante_Click_Before y ponemos tlOK a false para que no continue el txtcodlabel ejecutando el resto de código del
59  // btMante.CLick() pues no nos interesa, pues toda la operativa de navegación al cliente a la pestaña de mandatos está implementada aquí.
60  //
61  int lnAsesorContable = Convert.ToInt32(EW_GLOBAL._GetVariable("wn_AsesorContable"));
62  bool llSoloContaAsesor = EW_GLOBAL._Solucion <= 1 || lnAsesorContable > 0;
63 
64  if (!llSoloContaAsesor)
65  {
66  Cliente loCliente = new Cliente();
67  loCliente._Codigo = this._Cliente;
68  loCliente._TabSeleccionado = "tpCondiPago";
69  loCliente._SubPaginaSeleccion = "tabMandatos";
70  loCliente._Show();
71  }
72  else
73  {
74  Cuenta loCuenta = new Cuenta();
75  loCuenta._Codigo = this._Cliente;
76  loCuenta._TabSeleccionado = "tpCondiciones";
77  loCuenta._SubPaginaSeleccion = "tpCondiPagoMandatosSepaCliente";
78  loCuenta._Show();
79  }
80 
81  tlOk = false;
82 
83  return;
84  }
85 
89  public string _Cliente
90  {
91  get
92  {
93  return _cCliente;
94  }
95 
96  set
97  {
98  _cCliente = value;
99  _oCliente._Codigo = value;
100  _oCliente._TodosLosMandatosSiClienteVacio = _lTodosLosMandatosSiClienteVacio;
101  _oCliente._TodosLosMandatosSiClienteVacio_ClienteDesde = _cTodosLosMandatosSiClienteVacio_ClienteDesde;
102  _oCliente._TodosLosMandatosSiClienteVacio_ClienteHasta = _cTodosLosMandatosSiClienteVacio_ClienteHasta;
103  }
104  }
105 
109  public int _Banc_Cli
110  {
111  get
112  {
113  return this._nBanc_Cli;
114  }
115  set
116  {
117  this._nBanc_Cli = value;
118  }
119  }
120 
124  public int _Vigencia
125  {
126  get
127  {
128  return this._nVigencia;
129  }
130  set
131  {
132  bool llModificado = (this._nVigencia != value);
133  this._nVigencia = value;
134 
135  if(llModificado)
136  _Consultar_Datatable();
137  }
138  }
139 
143  public bool _Validar
144  {
145  get
146  {
147  return this._lValidar;
148  }
149  set
150  {
151  this._lValidar = value;
152  }
153  }
154 
158  public bool _TodosLosMandatosSiClienteVacio
159  {
160  get
161  {
162  return this._lTodosLosMandatosSiClienteVacio;
163  }
164  set
165  {
166  this._lTodosLosMandatosSiClienteVacio = value;
167  if (_oCliente != null)
168  {
169  _oCliente._TodosLosMandatosSiClienteVacio = value;
170  }
171  }
172  }
173 
177  public string _TodosLosMandatosSiClienteVacio_ClienteDesde
178  {
179  get
180  {
181  return this._cTodosLosMandatosSiClienteVacio_ClienteDesde;
182  }
183  set
184  {
185  this._cTodosLosMandatosSiClienteVacio_ClienteDesde = value;
186  if (_oCliente != null)
187  {
189  }
190  }
191  }
192 
196  public string _TodosLosMandatosSiClienteVacio_ClienteHasta
197  {
198  get
199  {
200  return this._cTodosLosMandatosSiClienteVacio_ClienteHasta;
201  }
202  set
203  {
204  this._cTodosLosMandatosSiClienteVacio_ClienteHasta = value;
205  if (_oCliente != null)
206  {
208  }
209  }
210  }
211 
218  public override bool _Existe_Codigo(ref string tcCodigo, bool tlValidar = false)
219  {
220  if (this._lValidar && !string.IsNullOrWhiteSpace(tcCodigo))
221  {
222  List<Mandatos.Mandato> loListMand = new Mandatos(_Cliente)._Filter(tcCodigo, _Banc_Cli);
223 
224  string lcMensaje = "";
225 
226  if (Convert.ToBoolean(EW_GLOBAL._GetVariable("wl_mandemp")) && loListMand.Count == 0)
227  {
228  lcMensaje = "El cliente no tiene asignado el mandato para esta empresa.";
229  }
230  else if (loListMand.Count == 0 || string.IsNullOrWhiteSpace(loListMand[0]._Mandato))
231  {
232  lcMensaje = "El mandato no existe para este cliente.";
233  }
234  else if ((loListMand[0]._Fecha_Fin != null && loListMand[0]._Fecha_Fin < DateTime.Now) || loListMand[0]._EstPro)
235  {
236  lcMensaje = "El mandato no está vigente.";
237  }
238 
239  if (!string.IsNullOrWhiteSpace(lcMensaje))
240  {
241  FUNCTIONS._MessageBox(lcMensaje, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, DialogResult.OK, tcText: "Mandatos");
242 
243  return false;
244  }
245  }
246 
247  return true;
248  }
249 
253  protected override void _Cargar_Propiedades()
254  {
255  base._Cargar_Propiedades();
256 
257  _Tactil = false;
258  _Codigo = "";
259  _Relleno = ' ';
260  _Clave = "mandato ";
261  _Len = 35;
262  _Expandir = false;
263  _Database = "comunes";
264  _Tabla = "mandatos";
265  _Nombre = "cliente";
266  _Mante = "mandatos";
267  _Mensaje_No_Existe = "El mandato no existe";
268 
269  _Browser_Clave = "mandato";
270  _Browser_Database = "comunes";
271  _Browser_Campo_Predet = "mandato";
272  _Browser_Campos = "mandato,fecha_fin,cliente,nombre";
273  _Browser_Condicion = "";
274  _Browser_Tabla = "mandatos";
275  _Browser_Titulos_Campos = "Mandato,Fecha Fin,Cliente,Nombre";
276  _Browser_Titulo = "Listado de mandatos ";
277 
278  _Consultar_Datatable();
279  }
280 
284  public void _Consultar_Datatable()
285  {
286  if (Convert.ToBoolean(sage.ew.global.EW_GLOBAL._GetVariable("wl_designmode", true)) == false)
287  {
288  _Browser_Datatable_Personalizado = _Mandato_Vigente();
289  _btBrowser._DatatablePersonalizado = _Browser_Datatable_Personalizado;
290  }
291  }
292 
297  private DataTable _Mandato_Vigente()
298  {
299  DataTable ldtMandato = new DataTable();
300 
301  if (_Vigencia < 0)
302  return ldtMandato;
303 
304  ldtMandato = _oCliente._Consultar_Mandato_Vigente(this._nBanc_Cli, _Vigencia);
305 
306  if (ldtMandato == null || ldtMandato.Columns.Count == 0)
307  {
308  int lnDigitos = Convert.ToInt32(EW_GLOBAL._GetLenCampo(KeyDiccionarioLenCampos.wn_digitos));
309 
310  object[,] laarraycurTaulaMandato = { {"Mandato","string",35,"Y"},{"Fecha_fin","datetime",0,"y"},{"Cliente","string",lnDigitos,"Y"},
311  {"Nombre","string",50,"Y"}};
312 
313  ldtMandato = DBfunctions._Crear_DtTable(laarraycurTaulaMandato);
314 
315  return ldtMandato;
316  }
317 
318  // PARTE 94152. Eliminamos una columna que no interesa que presente en el browser
319  if (ldtMandato.Columns.Contains("empresa"))
320  {
321  ldtMandato.Columns.Remove("empresa");
322  }
323  // FPARTE 94152
324 
325  //borrem les columnes que no necessitem
326  ldtMandato.Columns.Remove("defecto");
327  ldtMandato.Columns.Remove("estpro");
328 
329  return ldtMandato;
330  }
331  }
332 }
override bool _Existe_Codigo(ref string tcCodigo, bool tlValidar=false)
Validar el codigo entrado
Definition: txtMandatos.cs:218
override void _Cargar_Propiedades()
Redefinición del método Cargar_Propiedades() para establecer los valores de las propiedades para mand...
Definition: txtMandatos.cs:253
override string _Codigo
PE-102491: override de _Codigo para que en el Set podamos convertir el número que nos llega a código ...
void _Consultar_Datatable()
Consulta datatable personalizado
Definition: txtMandatos.cs:284
string _TodosLosMandatosSiClienteVacio_ClienteHasta
_ClienteHasta en _TodosLosMandatosSiClienteVacio
string _SubPaginaSeleccion
Mostrar inicialmente subpágina del control _TabSeleccionado ej: "Datos Fiscales"
Definition: clsEwBase.cs:1792
KeyDiccionarioLenCampos
Clave del diccionario LenCampos
Definition: Diccionarios.cs:11
Linia de un Mandato/cliente
Definition: Mandatos.cs:682
virtual void _Show()
Muestra el formulario asiociado
Definition: clsEwBase.cs:5021
Clase EW_GLOBAL para gestionar las variables públicas de Eurowin, variables de empresa, variables de anchuras de campo, variables de mascaras, etc.
Definition: EW_GLOBAL.cs:46
string _TabSeleccionado
Nombre del control a seleccionar al cargar el formulario si se quiere uno concreto ...
Definition: clsEwBase.cs:1786
override string _Codigo
Campo clave del mantenimiento
Clase de negocio del mantenimiento de cuentas contables
PE85588 Definición del txtcodlabel para mandatos
Definition: txtMandatos.cs:24
List< Mandato > _Filter(string tcMandato="", int tnBancCli=-1)
ens retorna una llista de mandatos del client per mandato o banc_cli
Definition: Mandatos.cs:102
string _TodosLosMandatosSiClienteVacio_ClienteDesde
_ClienteDesde en _TodosLosMandatosSiClienteVacio
bool _TodosLosMandatosSiClienteVacio
Nos sacará todos los mandatos si tenemos el cliente vacio o filtro _ClienteDesde - _ClienteHasta ...
string _Consultar_Mandato_Vigente(dynamic toDocVenta)
si estas al document, passat el document et busca el mandato i si es necessari et presenta el formula...
Clase base para controles de tipo txtcodlabelf