/// <summary> /// Obtener los tipos de errores para un registro de errores de un cierre. /// </summary> /// <param name="r">Registro para el cual se obtienen los tipos de errores</param> public void obtenerErroresRegistroErroresCierre(ref RegistroErroresCierre r) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectRegistroErroresCierreTiposErrores"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@registro", r.Id, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { byte id = (byte)datareader["pk_ID"]; string nombre = (string)datareader["Nombre"]; TipoErrorCierre error = new TipoErrorCierre(id, nombre); r.agregarError(error); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Clic en el botón de guardar. /// </summary> private void btnGuardar_Click(object sender, EventArgs e) { // Verificar que se hayan seleccionado los datos if (cboColaborador.SelectedItem == null || (!chkSinErrores.Checked && clbErrores.CheckedItems.Count == 0)) { Excepcion.mostrarMensaje("ErrorRegistroErroresCierreDatosRegistro"); return; } try { frmAdministracionRegistroErrores padre = (frmAdministracionRegistroErrores)this.Owner; Colaborador colaborador = (Colaborador)cboColaborador.SelectedItem; DateTime fecha = dtpFecha.Value; bool sin_errores = chkSinErrores.Checked; string otros_errores = chkSinErrores.Checked ? string.Empty : txtOtrosErrores.Text; string observaciones = txtObservaciones.Text; // Verificar si el registro es nuevo if (_registro == null) { // Agregar los datos del nuevo registro if (Mensaje.mostrarMensajeConfirmacion("MensajeRegistroErroresCierreRegistro") == DialogResult.Yes) { RegistroErroresCierre nuevo = new RegistroErroresCierre(colaborador, _coordinador, fecha, sin_errores, otros_errores, observaciones); if (!chkSinErrores.Checked) { foreach (TipoErrorCierre tipo in clbErrores.CheckedItems) { nuevo.agregarError(tipo); } } _coordinacion.agregarRegistroErroresCierre(ref nuevo); padre.agregarRegistro(nuevo); Mensaje.mostrarMensaje("MensajeRegistroErroresCierreConfirmacionRegistro"); this.Close(); } } else { RegistroErroresCierre copia = new RegistroErroresCierre(_registro.Id, colaborador, _registro.Coordinador, fecha, sin_errores, otros_errores, observaciones); if (!chkSinErrores.Checked) { foreach (TipoErrorCierre tipo in clbErrores.CheckedItems) { copia.agregarError(tipo); } } // Actualizar los datos del registro _coordinacion.actualizarRegistroErroresCierre(copia); _registro.Colaborador = colaborador; _registro.Fecha = fecha; _registro.Sin_errores = sin_errores; _registro.Otros_errores = otros_errores; _registro.Observaciones = observaciones; _registro.Errores = copia.Errores; padre.actualizarLista(); Mensaje.mostrarMensaje("MensajeRegistroErroresCierreConfirmacionActualizacion"); this.Close(); } } catch (Excepcion ex) { ex.mostrarMensaje(); } }