Ejemplo n.º 1
0
        public ActionResult Detail(Guid id)
        {
            if (Session[SessionKey.UserId] == null)
            {
                return(RedirectToAction("Login", "Account"));
            }
            var playlist = PlaylistDAO.GetPlaylist(id);

            if (playlist != null)
            {
                var user          = UserDAO.GetUser((Guid)Session[SessionKey.UserId]);
                var playlistOwner = UserDAO.GetUser(playlist.OwnerId);
                if (user.Friends.Contains(playlistOwner) || user == playlistOwner)
                {
                    var vm = PlaylistVM.ToVM(playlist);
                    if (vm.OwnerName == user.Nickname)
                    {
                        vm.IsOwner = true;
                    }
                    return(View(vm));
                }
                else
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
                }
            }
            else
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }
        }
Ejemplo n.º 2
0
        private async void CargarPlaylists()
        {
            if (CargarPlaylistsLibre)
            {
                CargarPlaylistsLibre = false;
                PlaylistDAO playlistDAO = new PlaylistDAO(UsuarioActual.Token);
                try
                {
                    PlaylistsDeUsuarioActual = await playlistDAO.CargarPorIdConsumidor(UsuarioActual.Id);
                }
                catch (Exception ex)
                {
                    MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex);
                    MessageBox.Show(mensaje.Mensaje, mensaje.Titulo);
                    return;
                }
                if (PlaylistsDeUsuarioActual.Count == 1 && PlaylistsDeUsuarioActual[0].Id == 0)
                {
                    ListaDePlaylists.Visibility               = Visibility.Collapsed;
                    LabelNoHayPlaylists.Visibility            = Visibility.Visible;
                    ListaDeCancionesDePlaylist.Visibility     = Visibility.Collapsed;
                    LabelNoHayCancionesDescargadas.Visibility = Visibility.Collapsed;
                }
                else
                {
                    ListaDePlaylists.AsignarPlaylists(PlaylistsDeUsuarioActual);
                    PropagarPlaylists();
                    ListaDePlaylists.Visibility    = Visibility.Visible;
                    LabelNoHayPlaylists.Visibility = Visibility.Collapsed;
                }

                CargarPlaylistsLibre = true;
            }
        }
Ejemplo n.º 3
0
        private async void OpcionDePlaylists_Click(object sender, RoutedEventArgs e)
        {
            MenuItem seleccion            = sender as MenuItem;
            Playlist playlistSeleccionada = PlaylistsEnMenuDeContexto.FirstOrDefault(p => p.Nombre == seleccion.Header.ToString());

            if (playlistSeleccionada != null)
            {
                PlaylistDAO playlistDAO = new PlaylistDAO(Token);
                bool        resultado   = false;
                try
                {
                    resultado = await playlistDAO.AgregarCancionAPlaylist(playlistSeleccionada.Id, CancionSeleccionada.Id);
                }
                catch (Exception ex)
                {
                    MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex);
                    MessageBox.Show(mensaje.Mensaje, mensaje.Titulo);
                    return;
                }
                if (resultado)
                {
                    MessageBox.Show("Cancion agregada");
                }
                else
                {
                    MessageBox.Show("Hubo un error agregando la cancion, intentelo mas tarde", "Vaya");
                }
            }
            else
            {
                MessageBox.Show("Hubo un error seleccionando la playlist. Intentelo de nuevo");
            }
        }
        private async void ButtonAceptar_Click(object sender, RoutedEventArgs e)
        {
            PlaylistDAO playlistDAO         = new PlaylistDAO(usuarioActual.Token);
            bool        resultadoDeGuardado = false;

            if (ValidarCampos())
            {
                try
                {
                    resultadoDeGuardado = await playlistDAO.CrearPlaylist(TextBoxNombreDePlaylist.Text);
                }
                catch (Exception ex)
                {
                    MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex);
                    MessageBox.Show(mensaje.Mensaje, mensaje.Titulo);
                    return;
                }
            }
            else
            {
                MessageBox.Show("El nombre de la playlist que ingreso no es valido", "Error");
                return;
            }
            if (resultadoDeGuardado)
            {
                MessageBox.Show("El la playlist fue creada", "¡Exito!");
            }
            else
            {
                MessageBox.Show("No se pudo guardar la playlist :( /n Intentelo mas tarde", "Vaya");
            }
            Close();
        }
Ejemplo n.º 5
0
 public string Put(Playlist playlist)
 {
     if (PlaylistDAO.Update(playlist))
     {
         return("OK");
     }
     return("NOT_PUT");
 }
Ejemplo n.º 6
0
 public string Delete(int id_playlist, string mail)
 {
     if (PlaylistDAO.Delete(id_playlist, mail))
     {
         return("OK");
     }
     return("NOT_DELETE");
 }
Ejemplo n.º 7
0
        public ActionResult Ajax_AddMusic(Guid playlistId, int trackId)
        {
            if (Session[SessionKey.UserId] != null)
            {
                var playlist = PlaylistDAO.GetPlaylist(playlistId);
                if (playlist != null && playlist.OwnerId == (Guid)Session[SessionKey.UserId])
                {
                    Music music = MusicDAO.GetMusicByTrackId(trackId);
                    if (music == null)
                    {
                        string         url = "https://api.jamendo.com/v3.0/tracks?client_id=ab5d1fe6&id=" + trackId.ToString();
                        HttpWebRequest r   = (HttpWebRequest)WebRequest.Create(url);
                        r.Method = "GET";
                        HttpWebResponse res  = (HttpWebResponse)r.GetResponse();
                        Stream          sr   = res.GetResponseStream();
                        StreamReader    sre  = new StreamReader(sr);
                        string          s    = sre.ReadToEnd();
                        MusicSearchVM   data = JsonConvert.DeserializeObject <MusicSearchVM>(s);
                        if (data.Headers.code == 0)
                        {
                            if (data.Headers.results_count > 0)
                            {
                                MusicAPIVM result   = data.Results[0];
                                Music      newMusic = new Music();
                                newMusic.Artist     = result.artist_name;
                                newMusic.Title      = result.name;
                                newMusic.TrackId    = result.id;
                                newMusic.TrackUrl   = result.audio;
                                newMusic.ArtworkUrl = result.image;
                                MusicDAO.AddMusic(newMusic);
                            }
                            else
                            {
                                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
                            }
                        }
                        else
                        {
                            return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
                        }
                    }

                    if (PlaylistDAO.AddMusicToPlaylist(playlistId, trackId))
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.OK));
                    }
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
                }
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }
            return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
        }
Ejemplo n.º 8
0
        public ActionResult Create(CreatePlaylistVM vm)
        {
            if (Session[SessionKey.UserId] != null)
            {
                var playlist = new Playlist
                {
                    Name        = vm.Name,
                    CreatedDate = DateTime.Now,
                    Musics      = new List <Music>()
                };
                playlist.OwnerId = (Guid)Session[SessionKey.UserId];
                PlaylistDAO.CreatePlaylist(playlist);
            }

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 9
0
 public ActionResult RemoveMusic(Guid playlistId, int trackId)
 {
     if (Session[SessionKey.UserId] != null)
     {
         var playlist = PlaylistDAO.GetPlaylist(playlistId);
         if (playlist != null && playlist.OwnerId == (Guid)Session[SessionKey.UserId])
         {
             if (PlaylistDAO.RemoveMusicFromPlaylist(playlistId, trackId))
             {
                 return(RedirectToAction("Detail", new { id = playlistId }));
             }
             return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
         }
         return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
     }
     return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
 }
Ejemplo n.º 10
0
 public ActionResult Remove(Guid playlistId)
 {
     if (Session[SessionKey.UserId] != null)
     {
         var playlist = PlaylistDAO.GetPlaylist(playlistId);
         if (playlist != null && playlist.OwnerId == (Guid)Session[SessionKey.UserId])
         {
             PlaylistDAO.RemovePlaylist(playlist);
             //return new HttpStatusCodeResult(HttpStatusCode.OK);
             return(RedirectToAction("Index"));
         }
         else
         {
             return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
         }
     }
     return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
 }
Ejemplo n.º 11
0
 public IEnumerable <Playlist> Get()
 {
     return(PlaylistDAO.GetAllPlaylist());
 }
Ejemplo n.º 12
0
 public static bool CreatePlaylist(Playlist pl)
 {
     return(PlaylistDAO.CreatePlaylist(pl));
 }
Ejemplo n.º 13
0
 public static Playlist GetPlaylistByID(int id)
 {
     return(PlaylistDAO.GetPlaylistByID(id));
 }
Ejemplo n.º 14
0
 public static IEnumerable <Playlist> GetListPlaylistByIDUser(int id)
 {
     return(PlaylistDAO.GetListPlaylistByIDUser(id));
 }
Ejemplo n.º 15
0
 public Playlist Post(Playlist playlist)
 {
     return(PlaylistDAO.Create(playlist));
 }
Ejemplo n.º 16
0
 public static IEnumerable <Playlist> Get3PlaylistByIDCate(int id)
 {
     return(PlaylistDAO.Get3PlaylistByIDCate(id));
 }
Ejemplo n.º 17
0
 public IEnumerable <Playlist> Get(string mail)
 {
     return(PlaylistDAO.GetList(mail));
 }
Ejemplo n.º 18
0
 public Playlist Get(int id_playlist)
 {
     return(PlaylistDAO.Get(id_playlist));
 }
Ejemplo n.º 19
0
 public static bool UpdatePlaylist(Playlist pl)
 {
     return(PlaylistDAO.UpdatePlaylist(pl));
 }
Ejemplo n.º 20
0
 public static bool DelPlaylist(int id)
 {
     return(PlaylistDAO.DelPlaylist(id));
 }
Ejemplo n.º 21
0
 public static IEnumerable <Playlist> GetListPlaylistSearch(string value)
 {
     return(PlaylistDAO.GetListPlaylistSearch(value));
 }