btEtiquetasCliente.cs
1 using sage.ew.interficies;
2 using sage.ew.objetos;
3 using System;
4 using System.Collections.Generic;
5 using System.Linq;
6 using System.Text;
7 using System.Threading.Tasks;
8 
9 namespace sage.ew.botones.Clases
10 {
15  {
20  public dynamic _Documento { get; set; }
21 
25  public dynamic _DocLinea { get; set; } = null;
26 
27 
28  // Delegados
33  public delegate void _Click_Before_Handler(ref Boolean tlOk);
38  public delegate void _Click_After_Handler(Boolean tlOk);
39 
40  // Eventos
44  public event _Click_Before_Handler _Click_Before;
48  public event _Click_After_Handler _Click_After;
49 
54  {
55  Text = "Etiquetas de Cliente";
56  if (!DesignMode)
57  {
58  Click += new EventHandler(btEtiquetasCliente_Click);
59  }
60  }
61 
67  public void btEtiquetasCliente_Click(object sender, EventArgs e)
68  {
69  Boolean llOk = true;
70 
71  // Llamar al evento "before" antes de mostrar la pantalla
72  if (_Click_Before != null) _Click_Before(ref llOk);
73 
74 
75  //PE-99602: Creamos una lista de artículos recorriendo el _Documento asociado y obteniendo el código
76  //de artículo de cada linea para poderlos enviar al formulario
77  Dictionary<string, int> lstClientes = new Dictionary<string, int>();
78 
79  if (_Documento != null)
80  {
81  lstClientes.Add(_Documento._Cabecera._Cliente, _Documento._Cabecera._Env_cli);
82  }
83 
84  //PE-99602: Cambiamos la forma en que se llama al formulario desde este botón para llamar directamente al frmEtiquetas
85  //pasando la lista de artículos a mostrar
86 
87  cliente.Forms.frmEtiquetasClientes frmEtiquetas = new cliente.Forms.frmEtiquetasClientes();
88  frmEtiquetas._Documento = _Documento;
89  frmEtiquetas._Clientes = lstClientes;
90  frmEtiquetas._Show(); // TODO Cambiar _Show() por _ShowDialog()
91 
92 
93  if (llOk)
94  {
95  // Llamar al evento "after" después de llamar a la pantalla
96  if (_Click_After != null) _Click_After(llOk);
97  }
98 
99  }
100  }
101 }
Interfaz utilizada en los controles que se añaden en los perfiles
_Click_After_Handler _Click_After
_Click_After_Handler
_Click_Before_Handler _Click_Before
_Click_Before_Handler
Botón para mostrar el formulario de etiquetas de clientes
void btEtiquetasCliente_Click(object sender, EventArgs e)
Base para los botones de Eurowin