/// <summary> /// Obtener los detalle de una falla . /// </summary> /// <param name="c">Falla para el cual se obtiene la lista de detalles de falla</param> public void obtenerDetalleFallaFalla(ref Falla c) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectDetalleFallaFallas"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@falla", c.ID, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { short id = (short)datareader["pk_ID"]; string nombre = (string)datareader["Descripcion"]; DetalleFalla punto = new DetalleFalla(id, nombre, c); c.agregarDetalleFalla(punto); } 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 (txtDescripcion.Text.Equals(string.Empty)) { Excepcion.mostrarMensaje("ErrorTipoErrorCierreDatosRegistro"); return; } try { TipoFallasBlindados tipo = (TipoFallasBlindados)cboTipo.SelectedItem; string descripcion = txtDescripcion.Text; BindingList <DetalleFalla> fallas = (BindingList <DetalleFalla>)dgvDetalleFallas.DataSource; frmAdministracionFallas padre = (frmAdministracionFallas)this.Owner; // Verificar si el tipo de error ya está registrado if (_tipo == null) { // Agregar los datos del tipo de error if (Mensaje.mostrarMensajeConfirmacion("MensajeTipoErrorCierreRegistro") == DialogResult.Yes) { Falla nuevo = new Falla(descripcion: descripcion, tipo: tipo); foreach (DetalleFalla detalle in fallas) { nuevo.agregarDetalleFalla(detalle); } _mantenimiento.agregarFalla(ref nuevo); // padre.agregarTipoError(nuevo); Mensaje.mostrarMensaje("MensajeTipoErrorCierreConfirmacionRegistro"); this.Close(); } } else { // Actualizar los datos del tipo de error Falla copia = new Falla(id: _tipo.ID, descripcion: descripcion, tipo: tipo); foreach (DetalleFalla detalle in fallas) { copia.agregarDetalleFalla(detalle); } _mantenimiento.actualizarFalla(copia); _tipo.Tipo_Falla = tipo; _tipo.Descripcion = descripcion; padre.actualizarLista(); Mensaje.mostrarMensaje("MensajeTipoErrorCierreConfirmacionActualizacion"); this.Close(); } } catch (Excepcion ex) { ex.mostrarMensaje(); } }