2 using System.Collections.Generic;
3 using System.ComponentModel;
20 namespace sage.ew.formul.Forms
29 dynamic txtOrigen = null;
30 dynamic txtDestino = null;
31 private ewMante _ewMante = null;
32 private string _codigoOrigen =
string.Empty;
36 public string lcNewCodigo =
"";
40 public string lcMsgError =
"";
45 public bool MostrarBrowserDestino
47 get {
return _mostrarBrowserDestino; }
50 _mostrarBrowserDestino = value;
51 MostrarOcultarBrowserDestino(value);
54 private bool _mostrarBrowserDestino;
56 #endregion PROPIEDADES 58 #region Eventos públicos 63 public delegate
void BrowserOrigen_ClickBefore_Handler(
object sender, ref
bool tlOk);
73 public delegate
void BrowserOrigen_ClickAfter_Handler(
object sender,
bool tlAceptar);
83 public delegate
void BrowserDestino_ClickBefore_Handler(
object sender, ref
bool tlOk);
93 public delegate
void BrowserDestino_ClickAfter_Handler(
object sender,
bool tlAceptar);
103 public delegate
void Aceptar_CambioCodigoOrigenBefore_Handler(
object sender, ref
string codigo);
110 #endregion Eventos públicos 120 InitializeComponent();
122 ewlabelCodigoBlanco.Visible = lGeneraCodigoSiEsBlanco;
134 : this(
ewMante, tituloMante, txtcodlabel, lcCodigo, txtcodlabel, lGeneraCodigoSiEsBlanco)
138 ewlabelCodigoBlanco.Visible = lGeneraCodigoSiEsBlanco;
152 InitializeComponent();
156 _Pantalla = _ewMante.
_Pantalla +
"DUPLICAR";
158 Text =
"Duplicar " + tituloMante;
159 ewlabelTitulo.Text =
"Este proceso creará un nuevo código de " + tituloMante.ToLower() +
" en la empresa actual, con las mismas características que el código origen.";
160 ewPanelOrigen._Titulo =
"Código " + tituloMante.ToLower() +
" origen";
161 ewPanelDestino._Titulo =
"Código " + tituloMante.ToLower() +
" destino";
163 txtOrigen = Activator.CreateInstance(txtcodlabel);
164 ewPanelOrigen._Panel.Controls.Add(txtOrigen);
165 txtOrigen.Location =
new Point(100, 40);
166 txtOrigen.Size =
new Size(574, 25);
167 txtOrigen.Name =
"txtOrigen";
168 txtOrigen._CrearManteSiCodigoNoExiste =
false;
169 txtOrigen.TabIndex = 0;
170 txtOrigen._Codigo = lcCodigo;
171 _codigoOrigen = lcCodigo;
174 ((
ewtxtcodlabel)txtOrigen)._Browser_Click_Before += TxtOrigen_Browser_Click_Before;
175 ((
ewtxtcodlabel)txtOrigen)._Browser_Click_After += TxtOrigen_Browser_Click_After;
179 txtDestino = Activator.CreateInstance(txtcodlabelDestino);
180 ewPanelDestino._Panel.Controls.Add(txtDestino);
181 txtDestino.Location =
new Point(100, 40);
182 txtDestino.Size =
new Size(574, 25);
183 txtDestino.Name =
"txtDestino";
184 txtDestino._CrearManteSiCodigoNoExiste =
false;
185 txtDestino._Validar_Codigo =
false;
186 txtDestino._Mostrar_Mante =
false;
187 txtDestino._Mostrar_Browser =
false;
188 txtDestino._Esconder_Label =
true;
189 txtDestino.TabIndex = 1;
190 txtDestino.Validating +=
new System.ComponentModel.CancelEventHandler(txtDestino_Validating);
193 ((
ewtxtcodlabel)txtDestino)._Browser_Click_Before += TxtDestino_Browser_Click_Before;
194 ((
ewtxtcodlabel)txtDestino)._Browser_Click_After += TxtDestino_Browser_Click_After;
197 ewlabelCodigoBlanco.Visible = lGeneraCodigoSiEsBlanco;
200 #endregion CONSTRUCTOR 202 #region OVERRIDES DE EVENTOS FORMULARIOS 205 #endregion OVERRIDES DE EVENTOS FORMULARIOS 213 protected override void OnLoad(EventArgs e)
230 string lcCodigo = txtOrigen._Codigo;
236 txtOrigen._Codigo = lcCodigo;
244 #region METODOS PRIVADOS 250 private void MostrarOcultarBrowserDestino(
bool mostrar)
254 txtDestino._Mostrar_Browser = mostrar;
262 private void TxtOrigen_Browser_Click_After(
bool tlAceptar)
264 BrowserOrigen_ClickAfter?.Invoke(txtOrigen, tlAceptar);
272 private void TxtOrigen_Browser_Click_Before(ref
bool tlOk)
274 BrowserOrigen_ClickBefore?.Invoke(txtOrigen, ref tlOk);
281 private void TxtDestino_Browser_Click_After(
bool tlAceptar)
283 BrowserDestino_ClickAfter?.Invoke(txtOrigen, tlAceptar);
290 private void TxtDestino_Browser_Click_Before(ref
bool tlOk)
292 BrowserDestino_ClickBefore?.Invoke(txtOrigen, ref tlOk);
301 private void btDocAceptar1_Click(
object sender, EventArgs e)
304 if (!origen.Equals(_codigoOrigen))
306 Type tipo = _ewMante.GetType();
307 _ewMante = Activator.CreateInstance(tipo) as
ewMante;
310 Aceptar_CambioCodigoOrigenBefore?.Invoke(_ewMante, ref origen);
319 DialogResult = DialogResult.None;
320 lcMsgError = resultado.
Error;
324 DialogResult = DialogResult.Yes;
337 private void frmDuplicarMante_Load(
object sender, EventArgs e)
347 private void txtDestino_Validating(
object sender, CancelEventArgs e)
349 if (sender.GetType().Name ==
"txtArticulo" && !
string.IsNullOrEmpty(txtDestino._Codigo.Trim()) && txtDestino._Codigo.Substring(0, 1) ==
" ")
351 this._MessageBox(
"No está permitido dar de alta nuevos artículos con espacios en el inicio del código '" + txtDestino._Codigo +
"'.", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, DialogResult.OK);
354 txtDestino._Codigo =
"";
359 #endregion METODOS PRIVADOS
string CodigoDestino
Codigo destino
Clase de negocio base para mantenimientos
_Tipos_Visuales
Definición de los posibles tipos visuales de la clase txtcodlabel
string _Pantalla
Nombre clave del formulario
string Error
Mensaje de error
bool EjecucionCorrecta
Resultado de la operación
virtual string _Codigo
Valor del campo clave que
Interficie para resultados de duplicaciones
Clase base para controles de tipo txtcodlabelf
virtual IResultadoDuplicacion _Duplicar(string tcCodigo)
Duplica el registro del mantenimiento