/// <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");
            }
        }
Beispiel #2
0
        /// <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();
            }
        }