Beispiel #1
0
 public List <Album> obtenerAlbumesParaBanda(Banda banda)
 {
     return(Albumes.Where(x => x.Banda.Id == banda.Id).
            Include(x => x.Canciones).
            ThenInclude(c => c.Reproducciones).
            ToList());
 }
Beispiel #2
0
        public List <Albumes> CargarPorIdGenero(int idGenero)
        {
            List <AlbumGenero> relacionAlbumGenero = new List <AlbumGenero>();
            List <Albumes>     albumesCargados     = new List <Albumes>();

            using (UVFYContext context = new UVFYContext())
            {
                try
                {
                    relacionAlbumGenero = context.AlbumGenero.Where(a => a.GenerosId == idGenero).ToList();
                }
                catch (SqlException e)
                {
                    Console.WriteLine(e.ToString());
                    throw new AccesoADatosException(e.Message, e);
                }

                foreach (AlbumGenero albumGenero in relacionAlbumGenero)
                {
                    try
                    {
                        Albumes album = CargarPorId(albumGenero.AlbumesId);
                        albumesCargados.Add(album);
                    }
                    catch (SqlException e)
                    {
                        Console.WriteLine(e.ToString());
                        throw new AccesoADatosException(e.Message, e);
                    }
                }
            }
            return(albumesCargados);
        }
Beispiel #3
0
        public bool Eliminar(int idAlbum)
        {
            bool       respuesta  = false;
            Albumes    album      = CargarPorId(idAlbum);
            CancionDAO cancionDAO = new CancionDAO();

            try
            {
                List <Canciones> cancionesEnAlbum = cancionDAO.CargarPorIdAlbum(album.Id);
                foreach (Canciones cancion in cancionesEnAlbum)
                {
                    cancionDAO.CambiarEstadoDeCancion(cancion.Id, Enumeradores.EstadoDeCancion.PrivadaDeArtista);
                }

                using (UVFYContext context = new UVFYContext())
                {
                    context.Albumes.Remove(album);
                    context.SaveChanges();
                }
                respuesta = true;
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
                throw new AccesoADatosException(e.Message, e);
            }
            return(respuesta);
        }
Beispiel #4
0
        public bool ValidarParaGuardado(Albumes albumAValidar)
        {
            bool resultado = false;

            if (Servicios.ServiciosDeValidacion.ValidarCadena(albumAValidar.Nombre))
            {
                if (Servicios.ServiciosDeValidacion.ValidarCadena(albumAValidar.Descripcion))
                {
                    resultado = true;
                }
            }

            return(resultado);
        }
 public void Buscar(string busqueda)
 {
     if (Albumes != null)
     {
         if (busqueda != string.Empty)
         {
             AlbumesVisibles = Albumes.FindAll(c => c.Nombre.ToLower().Contains(busqueda.ToLower())).ToList();
         }
         else
         {
             AlbumesVisibles = albumesCargados;
         }
         ActualizarLista();
     }
 }
Beispiel #6
0
        public int RegistrarAlbum(Albumes albumARegistrar, List <int> generos)
        {
            int idDeAlbumGuardado = 0;

            if (ValidarParaGuardado(albumARegistrar))
            {
                ArtistaDAO artistaDAO = new ArtistaDAO();
                albumARegistrar.Artistas = artistaDAO.CargarPorId(albumARegistrar.ArtistasId);
                foreach (int idGenero in generos)
                {
                    AlbumGenero albumGenero = new AlbumGenero();
                    GeneroDAO   generoDAO   = new GeneroDAO();
                    albumGenero.Generos = generoDAO.CargarPorId(idGenero);
                    albumARegistrar.AlbumGenero.Add(albumGenero);
                }
                using (UVFYContext context = new UVFYContext())
                {
                    try
                    {
                        foreach (AlbumGenero cancionGenero in albumARegistrar.AlbumGenero)
                        {
                            context.Attach(cancionGenero.Generos);
                        }
                        context.Albumes.Add(albumARegistrar);
                        context.Attach(albumARegistrar.Artistas);
                        context.SaveChanges();
                        idDeAlbumGuardado = albumARegistrar.Id;
                    }
                    catch (SqlException e)
                    {
                        Console.WriteLine(e.ToString());
                        throw new AccesoADatosException(e.Message, e);
                    }
                }
            }
            else
            {
                throw new ValidacionFallidaException("Album invalido");
            }

            return(idDeAlbumGuardado);
        }
Beispiel #7
0
        public Albumes CargarPorIdCancion(int idCancion)
        {
            Albumes albumCargado = new Albumes();

            using (UVFYContext context = new UVFYContext())
            {
                try
                {
                    albumCargado = context.Albumes.FirstOrDefault(a => a.Canciones.Any(b => b.Id == idCancion));
                }
                catch (SqlException e)
                {
                    Console.WriteLine(e.ToString());
                    throw new AccesoADatosException(e.Message, e);
                }
                if (albumCargado == null)
                {
                    throw new RecursoNoExisteException();
                }
            }
            return(albumCargado);
        }
Beispiel #8
0
 public List <Album> obtenerAlbumes()
 => Albumes.
 Include(c => c.Banda).
 Include(a => a.Canciones).
 ThenInclude(c => c.Reproducciones).
 ToList();
Beispiel #9
0
 public void altaAlbum(Album album)
 {
     Albumes.Add(album);
     SaveChanges();
 }
Beispiel #10
0
 public int CantidadDeReproduccionesPorBanda()
 {
     return(Albumes.Sum(a => a.CantidadDeReproducciones()));
 }