예제 #1
0
 /// <see cref="IMusicaDao.BuscarArtistas(Artista)"/>
 public IList BuscarArtistas(Artista templateArtista)
 {
     ICriteria criteria = this.HibernateTemplate.Session.CreateCriteria(typeof(Artista));
     criteria.Add(new LikeExpression("nombre", templateArtista.Nombre, MatchMode.Anywhere));
     criteria.AddOrder(new Order("nombre", true));
     return criteria.List();
 }
예제 #2
0
        private void grdArtistas_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            ModelArtista a = (ModelArtista)e.Item.DataItem;

            if (a == null)
            {
                return;
            }
            IList itemRankings = this.GetEscuchaService().RetrieveAlbumesMasEscuchados(a);

            if (itemRankings != null && itemRankings.Count > 0)
            {
                IEnumerator enumerator = itemRankings.GetEnumerator();
                enumerator.MoveNext();
                //int count = 0;
                string descripcionAlbumes = ((ItemRanking)enumerator.Current).Nombre;
                while (enumerator.MoveNext() && descripcionAlbumes.Length < 35)
                {
                    descripcionAlbumes += ", " + ((ItemRanking)enumerator.Current).Nombre;
                    //count ++;
                }
                if (itemRankings.Count > 3)
                {
                    descripcionAlbumes += " ...";
                }

                e.Item.Cells[1].Text = descripcionAlbumes;
            }
        }
예제 #3
0
 /// <see cref="IEscuchaService.RetrieveTemasMusicalesMasEscuchados(Artista)" />
 public IList RetrieveTemasMusicalesMasEscuchados(Artista artista)
 {
     return this.escuchaDao.RetrieveTemasMusicalesMasEscuchados(artista);
 }
예제 #4
0
 /// <see cref="IEscuchaService.RetrieveTemasMusicalesMasEscuchados(Artista)" />
 public IList RetrieveAlbumesMasEscuchados(Artista artista)
 {
     return this.escuchaDao.RetrieveAlbumesMasEscuchados(artista);
 }
예제 #5
0
 /// 
 /// <param name="artista"></param>
 public void DeleteArtista(Artista artista)
 {
     throw new NotImplementedException();
 }
예제 #6
0
 /// <see cref="IEscuchaDao.RetrieveAlbumesMasEscuchados(Artista)" />
 public IList RetrieveAlbumesMasEscuchados(Artista artista)
 {
     return this.HibernateTemplate.FindByNamedQueryAndNamedParam("albumesMasEscuchadosPorArtista", "idArtista", artista.Id);
 }
예제 #7
0
 /// <see cref="IMusicaService.GetArtistasSimilaresA(Artista)"/>
 public IList GetArtistasSimilaresA(Artista artista)
 {
     return this.musicaDao.GetArtistasSimilaresA(artista.Id);
 }
예제 #8
0
 /// <see cref="IMusicaService.BuscarArtistas(string)"/>
 public IList BuscarArtistas(string nombreArtista)
 {
     Artista template = new Artista(nombreArtista);
     return this.musicaDao.BuscarArtistas(template);
 }
예제 #9
0
 /// <see cref="IMusicaService.RetrieveTemasMusicalesByArtista(Artista)"/>
 public IList RetrieveTemasMusicalesByArtista(Artista artista)
 {
     throw new NotImplementedException();
 }
예제 #10
0
 /// 
 /// <param name="templateArtista"></param>
 public IList BuscarArtistas(Artista templateArtista)
 {
     ICriteria criteria = this.HibernateTemplate.Session.CreateCriteria(typeof(Artista));
     return criteria.Add(Example.Create(templateArtista)).List();
 }
예제 #11
0
 /// 
 /// <param name="artista"></param>
 public IList RetrieveAlbumsByArtista(Artista artista)
 {
     return null;
 }
예제 #12
0
 /// 
 /// <param name="artista"></param>
 public void DeleteArtista(Artista artista)
 {
 }
예제 #13
0
 /// 
 /// <param name="templateArtista"></param>
 public IList BuscarArtistas(Artista templateArtista)
 {
     return null;
 }
예제 #14
0
 /// 
 /// <param name="artista"></param>
 public void SaveOrUpdateArtista(Artista artista)
 {
 }
예제 #15
0
 /// 
 /// <param name="artista"></param>
 public IList RetrieveTemasMusicalesByArtista(Artista artista)
 {
     return null;
 }
예제 #16
0
 /// <see cref="IEscuchaService.RetrieveUsuariosMasActivos(Artista)" />
 public IList RetrieveUsuariosMasActivos(Artista artista)
 {
     return this.escuchaDao.RetrieveUsuariosMasActivos(artista);
 }
예제 #17
0
        /// <see cref="IEscuchaService.RegistrarEscucha(string, string, string, string, string, DateTime, short)" />
        public void RegistrarEscucha(string nombreUsuario, string password, string nombreArtista, string nombreAlbum, string nombreTemaMusical, DateTime inicio, short valoracion)
        {
            Validate.NotEmpty(nombreUsuario, "El nombre de Usuario debe ser especificado.");
            Validate.NotEmpty(password, "El password debe ser especificado.");
            Validate.NotEmpty(nombreArtista, "El nombre del Artista debe ser especificado.");
            Validate.NotEmpty(nombreAlbum, "El nombre del Album debe ser especificado.");
            Validate.NotEmpty(nombreTemaMusical, "El nombre del Tema Musical debe ser especificado.");

            // Primero autentico el usuario
            Usuario usuario = this.usuarioService.AutenticarUsuario(nombreUsuario, password);

            // Busco el Artista por nombre
            Artista artista;
            IList artistas = musicaService.BuscarArtistas(nombreArtista);
            if (artistas.Count == 0) {
                artista = new Artista(nombreArtista);
            } else {
                // Asumo los nombres de los artistas únicos
                artista = (Artista) artistas[0];
            }

            // Busco el álbum entre los álbumes del artista
            Album album = artista.BuscarAlbum(nombreAlbum);
            if (album == null) {
                album = new Album(nombreAlbum);
                album.Artista = artista;

                artista.Albumes.Add(album);
            }

            // Busco el tema musical por nombre
            TemaMusical temaMusical = album.BuscarTemaMusical(nombreTemaMusical);
            if (temaMusical == null) {
                temaMusical = new TemaMusical(nombreTemaMusical);
                temaMusical.Album = album;
                temaMusical.Autor = artista;

                album.TemasMusicales.Add(temaMusical);
            }

            // Creo la escucha
            Escucha escucha = new Escucha(usuario, temaMusical, inicio, valoracion);
            usuario.Escuchas.Add(escucha);

            this.musicaService.SaveOrUpdateArtista(artista);
            this.musicaService.SaveOrUpdateAlbum(album);
            this.musicaService.SaveOrUpdateTemaMusical(temaMusical);
            this.escuchaDao.SaveOrUpdateEscucha(escucha);
            this.usuarioService.SaveOrUpdate(usuario);
        }
예제 #18
0
 /// 
 /// <param name="artista"></param>
 public IList RetrieveAlbumsByArtista(Artista artista)
 {
     throw new NotImplementedException();
 }
예제 #19
0
 /// <see cref="IMusicaService.SaveOrUpdateArtista(Artista)"/>
 public void SaveOrUpdateArtista(Artista artista)
 {
     this.musicaDao.SaveOrUpdateArtista(artista);
 }
예제 #20
0
        /// <see cref="IMusicaDao.RetrieveArtistasByEstiloMusical(EstiloMusical)"/>
        public IList RetrieveArtistasByEstiloMusical(EstiloMusical estiloMusical)
        {
            Artista artista = new Artista();
            artista.EstilosMusicales.Add(estiloMusical);

            return this.BuscarArtistas(artista);
        }
예제 #21
0
 /// <see cref="IMusicaService.DeleteArtista(Artista)"/>
 public void DeleteArtista(Artista artista)
 {
     this.musicaDao.DeleteArtista(artista);
 }
예제 #22
0
 /// 
 /// <param name="artista"></param>
 public void SaveOrUpdateArtista(Artista artista)
 {
     this.HibernateTemplate.SaveOrUpdate(artista);
 }
예제 #23
0
 private static void TestRetrieveUsuariosMasActivos(IApplicationContext ctx)
 {
     IEscuchaService escuchaService = (IEscuchaService) ctx.GetObject("escuchaService");
     Artista a = new Artista();
     a.Id = 4;
     IList list = escuchaService.RetrieveUsuariosMasActivos(a);
     foreach (ItemRanking item in list) {
         Console.WriteLine("{0} - {1}", item.Id, item.Nombre);
     }
 }
예제 #24
0
 /// <see cref="IEscuchaDao.RetrieveUsuariosMasActivos(Artista)" />
 public IList RetrieveUsuariosMasActivos(Artista artista)
 {
     return this.HibernateTemplate.FindByNamedQueryAndNamedParam("usuariosMasActivosPorArtista", "idArtista", artista.Id);
 }