/// <summary> /// Importars the datos. /// </summary> private void ImportarDatos() { //La transacción va a este nivel para poder hacer el rollback en el cath (si se produce error) SqlTransaction transaccion = null; try { //Al utillizar el "using" me aseguro que los recursos se liberen cuando termina el bloque SqlConnection conexion = new SqlConnection() { ConnectionString = ConnectionString }; { //objeto que voy a utilizar para obtener los datos (BD Transaccional) objDAObtenerDatos = new DAObtenerDatos(objConfiguracion.valor); //abre la conexión a la bd conexion.Open(); //le indica al objeto transaccion que va a iniciar una transacción transaccion = conexion.BeginTransaction(); objDAImportarDatos.GrabarMotivoSancion(objDAObtenerDatos.obtenerMotivoSancionBDTransaccional(objConfiguracion), transaccion); objDAImportarDatos.GrabarTipoSancion(objDAObtenerDatos.obtenerTipoSancionBDTransaccional(objConfiguracion), transaccion); objDAImportarDatos.GrabarSancion(objDAObtenerDatos.obtenerSancionBDTransaccional(objConfiguracion), transaccion); } //si la importación de los objetos fue exitosa, entonces confirmo las modificaciones. transaccion.Commit(); conexion.Close(); } catch (Exception ex) { //Valido que la transacción no sea nula, sino daría error al intentar el rollback if (transaccion != null) transaccion.Rollback(); //mando la excepción para arriba throw ex; } }
public List<TipoSancion> obtenerTipoSancionBDTransaccional(Configuraciones configuracion) { try { objDAObtenerDatos = new DAObtenerDatos(configuracion.valor); List<TipoSancion> listaTiposSancion = new List<TipoSancion>(); listaTiposSancion = objDAObtenerDatos.obtenerTipoSancionBDTransaccional(configuracion); return listaTiposSancion; } catch (Exception ex) { throw ex; } }