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);
            }
        }
Esempio n. 2
0
        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);
            }
        }