/// <summary> /// Modifica el mueble de la lista de muebles usando el método Modificar preguntandole al /// usuario si está seguro si desea modificarlo. /// </summary> /// <param name="sender">objeto sender</param> /// <param name="e">e</param> private void btnModificar_Click(object sender, EventArgs e) { try { int indiceMuebleAnterior = Fabrica.Muebles.IndexOf(muebleAModificar); if (CamposLlenos()) { if (ModificarMueble()) { if (this.nuevoMueble.ValidarMedidas()) { DialogResult resultado = MessageBox.Show(string.Format("¿Está seguro que desea modificar el mueble: \n{0}? \nINFORMACIÓN DEL MUEBLE A MODIFICAR: \n{1} , \n\nATENCIÓN:Está Acción no se puede revertir", this.muebleAModificar.MuebleFabricado, this.muebleAModificar.InformacionDelMueble()), "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (resultado == DialogResult.Yes) { Fabrica.Muebles.Insert(indiceMuebleAnterior, this.nuevoMueble); Fabrica.Muebles.RemoveAt(indiceMuebleAnterior + 1); MessageBox.Show("Mueble modificado con exito!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information); resultado = MessageBox.Show("¿Desea generar un .txt de la Modificación?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (resultado == DialogResult.Yes) { Facturacion.GenerarUnMuebleTxt(Environment.CurrentDirectory, this.nuevoMueble); MessageBox.Show(string.Format("Archivo generado con exito en {0}", Environment.CurrentDirectory), "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { this.Cancelar(); } } else { this.Cancelar(); } } else { MessageBox.Show("Las medidas y el peso deben ser mayores de cero", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Hubo un error al modificar el producto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Hay campos vacios", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (NullReferenceException) { MessageBox.Show("Error imprevisto al modificar el mueble", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);//Por las dudas } catch (Exception) { MessageBox.Show("Error imprevisto al crear el archivo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);//Por si ocurre cualquier excepción referida al archivo } }
/// <summary> /// Imprime la información del mueble en un .txt, si llega a haber cualquier tipo de error /// en su impresión, captura esa excepción para que no se cierre el programa y muestra un mensaje de error /// </summary> /// <param name="sender">objeto sender</param> /// <param name="e">e</param> private void btnImprimirMueble_Click(object sender, EventArgs e) { try { Facturacion.GenerarUnMuebleTxt(Environment.CurrentDirectory, this.mueble); MessageBox.Show(string.Format("Archivo generado con exito en {0}", Environment.CurrentDirectory), "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception) { MessageBox.Show("Error inesperado al imprimir el archivo.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Método que se ejecuta cada vez que se modifica un mueble /// </summary> public void Modificar() { try { if (this.InvokeRequired) { MiDelegado d = new MiDelegado(this.Modificar); this.Invoke(d); } else { int indiceMuebleAnterior = Fabrica.Muebles.IndexOf(muebleAModificar); if (CamposLlenos()) { if (ModificarMueble()) { if (this.nuevoMueble.ValidarMedidas()) { DialogResult resultado; Fabrica.Muebles.Insert(indiceMuebleAnterior, this.nuevoMueble); Fabrica.Muebles.RemoveAt(indiceMuebleAnterior + 1); MessageBox.Show("Mueble modificado con exito!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information); if (FrmMessegeBoxPersonalizado.opcion == 0) { string tipo = this.RetornarTipo(); MueblesDBO.ModificarMueble( txtNombre.Text, (int)nudUnidades.Value, Convert.ToSingle(txtPeso.Text), Convert.ToSingle(txtAltura.Text), Convert.ToSingle(txtAnchura.Text), Convert.ToSingle(txtProfundidad.Text), DateTime.Now, (eColor)cmbColor.SelectedItem, this.nuevoMueble.GetType().Name, tipo, this.muebleAModificar.Id ); } resultado = MessageBox.Show("¿Desea generar un .txt de la Modificación?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (resultado == DialogResult.Yes) { Facturacion.GenerarUnMuebleTxt(Environment.CurrentDirectory, this.nuevoMueble); MessageBox.Show(string.Format("Archivo generado con exito en {0}", Environment.CurrentDirectory), "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { this.Cancelar(); } } else { MessageBox.Show("Las medidas y el peso deben ser mayores de cero", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Hubo un error al modificar el producto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Hay campos vacios", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } this.ActivarControles(); this.MinimizeBox = false; } } catch (NullReferenceException) { MessageBox.Show("Error imprevisto al modificar el mueble", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);//Por las dudas } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);//Por si ocurre cualquier excepción referida al archivo } }