public void Agregar(Album album) { SqlTransaction tran = null; try { _conexion = new ConexionBd(); SqlConnection cn = _conexion.AbrirConexion(); _repositorio = new RepositorioAlbumes(cn); _repositorioTemas = new RepositorioTemas(cn); using (tran = cn.BeginTransaction()) { //Album album = Mapeador.ConvertirAAlbum(albumEditDto); _repositorio.Agregar(album, tran); //albumEditDto.AlbumId = album.AlbumId; if (album.Temas.Count > 0) { album.Temas.ForEach(t => { t.Album = album; _repositorioTemas.Agregar(t, tran); }); } tran.Commit();//método que persiste la informacion en la BD. } _conexion.CerrarConexion(); } catch (Exception e) { tran.Rollback();//tira para atras todo lo grabado throw new Exception(e.Message); } }
public void Agregar(Album album) { SqlTransaction transac = null; try { cn = new ConexionBd(); SqlConnection conexion = cn.AbrirConexion(); repositorio = new RepositorioAlbumes(conexion); repositorioTemas = new RepositorioTemas(conexion); using (transac = conexion.BeginTransaction()) { //Album album = Mapeador.ConvertirAlbum(albumEditDto); repositorio.Agregar(album, transac); //albumEditDto.AlbumId = album.AlbumId; if (album.Temas.Count > 0) { album.Temas.ForEach(t => { t.Album = album; repositorioTemas.Agregar(t, transac); }); } transac.Commit(); } cn.CerrarConexion(); } catch (Exception e) { transac.Rollback(); throw new Exception(e.Message); } }