frmEtiquetasEnvioDireccion.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 sage.ew.cliente;
9 using sage.ew.cliente.Clases;
10 using sage.ew.botones;
11 using sage.ew.db;
12 
13 namespace sage.ew.formul.Forms
14 {
18  public partial class frmEtiquetasEnvioDireccion : sage.ew.formul.Forms.FormDialog
19  {
23  public EtiquetasEnvio.LineaPortes _LineaPortes
24  {
25  set { _oLineaPortes = value; }
26  get { return _oLineaPortes; }
27  }
28  private EtiquetasEnvio.LineaPortes _oLineaPortes = null;
29 
33  public bool _SoloLectura
34  {
35  get { return _lReadOnly; }
36  set { _lReadOnly = value; }
37  }
38  private bool _lReadOnly = false;
39 
40  //Declaro botones y mantenimiento
41  private btBrowser _btBrowCodPos = new btBrowser();
42 
43  //Declaro variables para restaurado de valores
44  private string _cDireccion = string.Empty;
45  private string _cCPostal = string.Empty;
46  private string _cPoblacion = string.Empty;
47  private string _cProvincia = string.Empty;
48  private string _cTelefono = string.Empty;
49  private string _cCliente_Nombre = string.Empty;
50  private string _cPais = string.Empty;
51 
56  {
57  InitializeComponent();
58 
59  //PE-97808 Quitamos la gestión de favoritos
60  this._MostrarAccesoFavoritos = false;
61 
62  //PE-99114 añadimos título
63  this.Text = "Datos de envío " + _Sufijo;
64  }
65 
70  protected override void OnLoad(EventArgs e)
71  {
72  base.OnLoad(e);
73 
74  if (!DesignMode)
75  {
76  Form_Crear_Bindings();
77 
78  Form_Bloquear_Controles();
79 
80  //Me suscribo al evento de valor establecido en _CodigoDiccionario
81  txtCodPostal._CodigoDiccionario_Establecido += new txtbox.UserControls.ewtxtcodlabel.Delegar_CodigoDiccionario_Establecido(Evento_CodigoDiccionario_Establecido);
82  //Me suscribo al evento de dirección de cliente seleccionada
83  btDireccionesGenerico1._Elemento_Seleccionado += new btDireccionesGenerico.Delegar_Elemento_Seleccionado(Evento_Direccion_Seleccionada);
84  btDireccionesGenerico1.Image = sage.ew.images.Properties.Resources.home_16; //PE-103861
85 
86  Form_Valores_Iniciales(tlRestablecer: false); //Me guardo los valores iniciales
87  }
88  }
89 
94  private void Form_Valores_Iniciales(bool tlRestablecer = false)
95  {
96  if (tlRestablecer) //Restablezco valores.
97  {
98  _oLineaPortes._Direccion = _cDireccion;
99  _oLineaPortes._CPostal = _cCPostal;
100  _oLineaPortes._Poblacion = _cPoblacion;
101  _oLineaPortes._Provincia = _cProvincia;
102  _oLineaPortes._Telefono = _cTelefono;
103  _oLineaPortes._Cliente_Nombre = _cCliente_Nombre;
104  _oLineaPortes._Pais = _cPais;
105  }
106  else
107  {
108  _cDireccion = _oLineaPortes._Direccion;
109  _cCPostal = _oLineaPortes._CPostal;
110  _cPoblacion = _oLineaPortes._Poblacion;
111  _cProvincia = _oLineaPortes._Provincia;
112  _cTelefono = _oLineaPortes._Telefono;
113  _cCliente_Nombre = _oLineaPortes._Cliente_Nombre;
114  _cPais = _oLineaPortes._Pais;
115  }
116  }
117 
118 
122  private void Form_Bloquear_Controles()
123  {
124  txtRazon.ReadOnly = this._lReadOnly;
125  txtCodPostal._ReadOnly = this._lReadOnly;
126  txtDireccion.ReadOnly = this._lReadOnly;
127  txtPoblacion.ReadOnly = this._lReadOnly;
128  txtProvincia.ReadOnly = this._lReadOnly;
129  txtTelefono.ReadOnly = this._lReadOnly;
130  txtPais.ReadOnly = this._lReadOnly;
131  btDocAceptar1.Visible = !this._lReadOnly;
132  btDocCancelar1.Visible = !this._lReadOnly;
133  btSalir1.Visible = this._lReadOnly;
134 
135  //PE-97808 Posicionamos los botones
136  btDocCancelar1.Width = btDocCancelar1.Width - 10;
137  btDocAceptar1.Width = btDocAceptar1.Width - 10;
138  btSalir1.Location = btDocCancelar1.Location;
139  btSalir1.Size = btDocCancelar1.Size;
140  btSalir1.TextAlign = ContentAlignment.MiddleCenter;
141  btSalir1.TextImageRelation = TextImageRelation.ImageBeforeText;
142 
143  btSalir1.Image = sage.ew.images.Properties.Resources.salir; //PE-103861
144  }
145 
149  private void Form_Crear_Bindings()
150  {
151  //Codigo cliente
152  //btDireccionesGenerico1.DataBindings.Clear();
153  //btDireccionesGenerico1.DataBindings.Add("_Cliente_Codigo", _oLineaPortes, "_Cliente", true);
154  //btDireccionesGenerico1.DataBindings.Add("_Modo_Consulta", this, "_lReadOnly", true);
155  btDireccionesGenerico1._Cliente_Codigo = _oLineaPortes._Cliente;
156  btDireccionesGenerico1._Modo_Consulta = _lReadOnly;
157 
158  //Nombre cliente
159  txtRazon.DataBindings.Clear();
160  txtRazon.DataBindings.Add("Text", _oLineaPortes, "_Cliente_Nombre", true);
161 
162  //CP
163  txtCodPostal.DataBindings.Clear();
164  txtCodPostal.DataBindings.Add("_Codigo", _oLineaPortes, "_CPostal", true);
165 
166  //Direccion
167  txtDireccion.DataBindings.Clear();
168  txtDireccion.DataBindings.Add("Text", _oLineaPortes, "_Direccion", true);
169 
170  //Poblacion
171  txtPoblacion.DataBindings.Clear();
172  txtPoblacion.DataBindings.Add("Text", _oLineaPortes, "_Poblacion", true);
173 
174  //Provincia
175  txtProvincia.DataBindings.Clear();
176  txtProvincia.DataBindings.Add("Text", _oLineaPortes, "_Provincia", true);
177 
178  //Telefono
179  txtTelefono.DataBindings.Clear();
180  txtTelefono.DataBindings.Add("Text", _oLineaPortes, "_Telefono", true);
181 
182  //Pais
183  txtPais.DataBindings.Clear();
184  txtPais.DataBindings.Add("Text", _oLineaPortes, "_Pais", true);
185  }
186 
190  private void Form_Posicionar_Botones()
191  {
192  //Botón Cancelar
193  this.ewpanelBotones.Controls.Add(btDocCancelar1);
194  btDocCancelar1.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right | AnchorStyles.Top);
195  btDocCancelar1.Location = new Point(ewpanelBotones.Width - btDocCancelar1.Width + 10, 10);
196 
197  //Botón Aceptar
198  this.ewpanelBotones.Controls.Add(btDocAceptar1);
199  btDocAceptar1.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right | AnchorStyles.Top);
200  btDocAceptar1.Location = new Point(btDocCancelar1.Location.X - 10 - btDocAceptar1.Width, btDocCancelar1.Location.Y);
201 
202  //Botón Salir (Se posiciona como el cancelar ya que solo abra uno visible)
203  this.ewpanelBotones.Controls.Add(btSalir1);
204  btSalir1.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right | AnchorStyles.Top);
205  btSalir1.Location = btDocCancelar1.Location;
206  }
207 
211  private void Evento_CodigoDiccionario_Establecido()
212  {
213  //Actualizo los cambios en los campos relacionados
214  _oLineaPortes._CPostal = txtCodPostal._Codigo = txtCodPostal._CodigosDiccionario["codigo"].ToString();
215  _oLineaPortes._Poblacion = txtPoblacion.Text = txtCodPostal._CodigosDiccionario["poblacion"].ToString();
216  _oLineaPortes._Provincia = txtProvincia.Text = txtCodPostal._CodigosDiccionario["provincia"].ToString();
217 
218  }
219 
224  void Evento_Direccion_Seleccionada(DataRow toRowSel)
225  {
226  if (!this._lReadOnly)
227  {
228  //Actualizo los cambios en los campos relacionados
229  _oLineaPortes._Direccion = txtDireccion.Text = Convert.ToString(toRowSel["direccion"]).TrimEnd();
230  _oLineaPortes._CPostal = txtCodPostal._Codigo = Convert.ToString(toRowSel["codpos"]).TrimEnd();
231  _oLineaPortes._Poblacion = txtPoblacion.Text = Convert.ToString(toRowSel["poblacion"]).TrimEnd();
232  _oLineaPortes._Provincia = txtProvincia.Text = Convert.ToString(toRowSel["provincia"]).TrimEnd();
233 
234  //PE-102718 Afinamos un poco... sino hay dirección específica asigno la predeterminada
235  //_oLineaPortes._Telefono = txtTelefono.Text = Convert.ToString(toRowSel["telefono"]).TrimEnd(); //PE-102725
236  string lcTelefono = Convert.ToString(toRowSel["telefono"]).TrimEnd(); //Teléfono asociado a la dirección.
237  if (String.IsNullOrWhiteSpace(lcTelefono))
238  {
239  Cliente loCli = new Cliente(_oLineaPortes._Cliente);
240  lcTelefono = loCli._TelefonoPredeterminado();
241  }
242  _oLineaPortes._Telefono = txtTelefono.Text = lcTelefono;
243  //FPE-102718
244 
245  //Bug 144348: Cargar el nombre del país a partir del país obtenido
246  string lcNombrePais = DB.SQLValor("PAISES", "CODIGO", Convert.ToString(toRowSel["pais"]).TrimEnd(), "NOMBRE", "COMUNES").ToString().Trim();
247  _oLineaPortes._Pais = txtPais.Text = lcNombrePais;
248 
249 
250 
251  //this.Refresh();
252  }
253  }
254 
255  private void btDocCancelar1_Click(object sender, EventArgs e)
256  {
257  //Restablezco valores. No utilizo el _Load de la linea ya que afectaria a valores de fuera de este formulario
258  Form_Valores_Iniciales(tlRestablecer: true);
259  }
260  }
261 }
Formulario de detalle de dirección de envío
delegate void Delegar_Elemento_Seleccionado(DataRow toRowSel)
Se produce cuando se elige un elemento
static System.Drawing.Bitmap home_16
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
string _TelefonoPredeterminado()
Devuelve el teléfono predeterminado del cliente
Browser, basat en sage.ew.objetos.ewbutton
Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc.
Clase de negocio para la líneas de las etiquetas de envío
Clase de negocio para Etiquetas de envío
override void OnLoad(EventArgs e)
Override métode OnLoad
Clase FormDialog basada en FormBase
Definition: FormDialog.cs:17
Botón que muestra un menú contextual con las direcciones del cliente (no vinculado a documento de ven...
static System.Drawing.Bitmap salir
Busca un recurso adaptado de tipo System.Drawing.Bitmap.