示例#1
0
 /// <summary>
 /// Crea una instancia de <see cref="Escucha">Escucha</see>.
 /// </summary>
 /// <param name="Usuario">el <see cref="Usuario">Usuario</see></param>
 /// <param name="temaMusical">el <see cref="TemaMusical">TemaMusical</see></param>
 /// <param name="momentoEscucha">el momonto en que se inició la <see cref="Escucha">Escucha</see></param>
 /// <param name="valoracion">la valoración de la <see cref="Escucha">Escucha</see></param>
 public Escucha(Usuario Usuario, TemaMusical temaMusical, DateTime momentoEscucha, short valoracion) : this()
 {
     this.Usuario        = Usuario;
     this.TemaMusical    = temaMusical;
     this.MomentoEscucha = momentoEscucha;
     this.Valoracion     = valoracion;
 }
示例#2
0
 /// <summary>
 /// Crea una instancia de <see cref="Escucha">Escucha</see>.
 /// </summary>
 /// <param name="perfilUsuario">el <see cref="PerfilUsuario">PerfilUsuario</see></param>
 /// <param name="temaMusical">el <see cref="TemaMusical">TemaMusical</see></param>
 /// <param name="momentoEscucha">el momonto en que se inició la <see cref="Escucha">Escucha</see></param>
 /// <param name="valoracion">la valoración de la <see cref="Escucha">Escucha</see></param>
 public Escucha(PerfilUsuario perfilUsuario, TemaMusical temaMusical, DateTime momentoEscucha, short valoracion)
     : this()
 {
     this.PerfilUsuario = perfilUsuario;
     this.TemaMusical = temaMusical;
     this.MomentoEscucha = momentoEscucha;
     this.Valoracion = valoracion;
 }
示例#3
0
        /// <summary>
        /// Busca entre los temas del álbum.
        /// </summary>
        /// <param name="nombreTemaMusical">el nombre del <see cref="TemaMusical">TemaMusical</see> a buscar</param>
        /// <returns>el <see cref="TemaMusical">TemaMusical</see> buscado o <code>null</code> si no se encontró nada</returns>
        public TemaMusical BuscarTemaMusical(string nombreTemaMusical)
        {
            TemaMusical temaMusical = null;

            foreach (TemaMusical tm in this.TemasMusicales)
            {
                if (String.Equals(nombreTemaMusical, tm.Nombre))
                {
                    temaMusical = tm;
                    break;
                }
            }

            return(temaMusical);
        }
 /// <see cref="IMusicaService.DeleteTemaMusical(TemaMusical)"/>
 public void DeleteTemaMusical(TemaMusical temaMusical)
 {
     this.musicaDao.DeleteTemaMusical(temaMusical);
 }
 /// <see cref="IMusicaService.BuscarTemasMusicales(string)"/>
 public IList BuscarTemasMusicales(string nombreTemaMusical)
 {
     TemaMusical template = new TemaMusical(nombreTemaMusical);
     return musicaDao.BuscarTemasMusicales(template);
 }
 /// <see cref="IMusicaService.SaveOrUpdateTemaMusical(TemaMusical)"/>
 public void SaveOrUpdateTemaMusical(TemaMusical temaMusical)
 {
     this.musicaDao.SaveOrUpdateTemaMusical(temaMusical);
 }
示例#7
0
 /// 
 /// <param name="temaMusical"></param>
 public void DeleteTemaMusical(TemaMusical temaMusical)
 {
     throw new NotImplementedException();
 }
        /// <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);
        }
示例#9
0
 /// <see cref="IMusicaDao.BuscarTemasMusicales(TemaMusical)"/>
 public IList BuscarTemasMusicales(TemaMusical template)
 {
     ICriteria criteria = this.HibernateTemplate.Session.CreateCriteria(typeof(TemaMusical));
     return criteria.Add(Example.Create(template)).List();
 }
示例#10
0
 /// 
 /// <param name="temaMusical"></param>
 public void SaveOrUpdateTemaMusical(TemaMusical temaMusical)
 {
     this.HibernateTemplate.SaveOrUpdate(temaMusical);
 }
示例#11
0
 public IList BuscarTemasMusicales(TemaMusical template)
 {
     throw new NotImplementedException();
 }
示例#12
0
 /// 
 /// <param name="temaMusical"></param>
 public void DeleteTemaMusical(TemaMusical temaMusical)
 {
 }
示例#13
0
 /// 
 /// <param name="temaMusical"></param>
 public void SaveOrUpdateTemaMusical(TemaMusical temaMusical)
 {
 }