Esempio n. 1
0
        public async Task <IActionResult> CustomizePlaylist(CustomizePlaylistViewModel model)
        {
            playlist P = await dataBaseContext.playlists.Where(p => p.Id == model.PlaylistId).FirstOrDefaultAsync();

            if (dataBaseContext.users.Where(u => u.UserName == HttpContext.User.Identity.Name).Include(u => u.UserProfile.Playlists).FirstOrDefault().UserProfile.Playlists.Contains(P))
            {
                if (model.Logo != null)
                {
                    string FilePath    = @"\static-files\";
                    var    filestream1 = new FileStream(webHostEnvironment.WebRootPath + FilePath + model.PlaylistId + "PlaylistLogo.png", FileMode.Create); //webHostEnvironment.WebRootPath
                    await model.Logo.CopyToAsync(filestream1);

                    filestream1.Close();
                    P.LogoPath = FilePath + model.PlaylistId + "PlaylistLogo.png";
                }
                P.Name        = model.Name;
                P.Description = model.Description;
                await dataBaseContext.SaveChangesAsync();

                return(Redirect("/"));
            }
            else
            {
                return(Redirect("/404"));
            }
        }
Esempio n. 2
0
        public void add_sample_data(ChinookDbContext db)
        {
            var digital_download = new media_type()
            {
                Name = "Digital Download"
            };
            var rock_genre = new genre()
            {
                Name = "Rock"
            };
            var new_artist = new artist()
            {
                Name = "Bob Sacamano"
            };
            var new_album = new album()
            {
                Title = "My stuff 2018", Artist = new_artist
            };
            var new_track = new track()
            {
                Name = "Bad Medicine", Album = new_album, Genre = rock_genre, MediaType = digital_download
            };
            var new_playlist = new playlist()
            {
                PlaylistId = 0, Name = "Test playlist"
            };
            var ref_playlist_track = new playlist_track()
            {
                playlist = new_playlist, track = new_track
            };

            new_playlist.tracks.Add(ref_playlist_track);
            db.playlist_tracks.Add(ref_playlist_track);
            db.SaveChanges();
        }
Esempio n. 3
0
        public async Task <IActionResult> AddSongToAlbum(int SongId, int AlbumId)
        {
            artist Artist = dataBaseContext.users.Where(u => u.UserName == HttpContext.User.Identity.Name).FirstOrDefaultAsync().Result.ArtistProfile;

            if (SongId != 0 && AlbumId != 0 && Artist != null)
            {
                playlist Album = await dataBaseContext.playlists.Where(p => p.Id == AlbumId).FirstOrDefaultAsync();

                if (Artist.Albums.Contains(Album))
                {
                    song Song = await dataBaseContext.songs.Where(s => s.Id == SongId).FirstOrDefaultAsync();

                    Album.Songs.Add(Song);
                    await dataBaseContext.SaveChangesAsync();

                    return(Redirect("/"));
                }
                else
                {
                    return(Redirect("/"));
                }
            }
            else
            {
                return(Redirect("/"));
            }
        }
Esempio n. 4
0
        public async Task <IActionResult> CreateAlbum(AddAlbumViewModel model)
        {
            if (ModelState.IsValid)
            {
                user User = await dataBaseContext.users.Where(u => u.UserName == HttpContext.User.Identity.Name).Include(u => u.ArtistProfile).FirstOrDefaultAsync();

                if (User.ArtistProfile != null)
                {
                    string FilePath = @"\static-files\";
                    await model.Logo.CopyToAsync(new FileStream(webHostEnvironment.WebRootPath + FilePath + model.Name + "AlbumLogo", FileMode.Create));

                    playlist Album = new playlist()
                    {
                        Name = model.Name, LogoPath = webHostEnvironment.WebRootPath + FilePath + model.Name + "AlbumLogo"
                    };
                    User.ArtistProfile.Albums.Add(Album);
                    await dataBaseContext.playlists.AddAsync(Album);

                    await dataBaseContext.SaveChangesAsync();
                }
                ModelState.AddModelError("Name", "Что-то пошло не так...");
                return(Redirect("/"));
            }
            ModelState.AddModelError("Name", "Что-то пошло не так...");
            return(Redirect("/"));
        }
Esempio n. 5
0
        public async Task <IHttpActionResult> Putplaylist(int id, playlist playlist)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != playlist.id)
            {
                return(BadRequest());
            }

            db.Entry(playlist).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!playlistExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Esempio n. 6
0
        /// <summary>
        /// Seleccionamos idCanciones
        /// </summary>
        /// <param name="play"></param>
        /// <returns></returns>
        public string primeraVez(playlist play)
        {
            string insertar = "SELECT idCanciones FROM playlist WHERE usuario = '" + play.getUsuario() + "';";

            try
            {
                conexion.Open();
                MySqlCommand comand = new MySqlCommand(insertar, conexion);
                string       nombre = (string)comand.ExecuteScalar();
                Console.WriteLine(nombre);
                if (nombre == null)
                {
                    conexion.Close();
                    return("");
                }
                conexion.Close();
                return(nombre);
            }
            catch (MySqlException excepcion)
            {
                MessageBox.Show(excepcion.ToString());
                MessageBox.Show("No funciona Insertado");
                return(null);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Devolvemos un string de las idCanciones de playlist
        /// </summary>
        /// <returns></returns>
        public string stringIdPlaylist()
        {
            sqlPlaylist play = new sqlPlaylist();
            playlist    pl   = new playlist(labelUsuario.Text);

            return(play.primeraVez(pl));
        }
        public IHttpActionResult Deleteplaylist(Int32 id)
        {
            //playlist playlist = db.playlists.Find(id);
            //if (playlist == null)
            //{
            //    return NotFound();
            //}

            //db.playlists.Remove(playlist);
            //db.SaveChanges();

            //return Ok(playlist);

            playlist       list   = db.playlists.Find(id);
            detailplaylist detail = db.detailplaylists.Where(b => b.idPlaylist == id)
                                    .FirstOrDefault();

            if (list == null)
            {
                return(Ok(400));
            }
            if (detail != null)
            {
                db.detailplaylists.RemoveRange(db.detailplaylists.Where(c => c.idPlaylist == id));
                db.playlists.Remove(list);
                db.SaveChanges();
                return(Ok(200));
            }
            else
            {
                db.playlists.Remove(list);
                db.SaveChanges();
                return(Ok(200));
            }
        }
Esempio n. 9
0
        public async Task <IActionResult> Playlist(int Id)
        {
            if (Id != 0)
            {
                playlist Playlist = await dataBaseContext.playlists.Where(p => p.Id == Id).Include(p => p.Owner).Include(p => p.Songs).FirstOrDefaultAsync();

                if (HttpContext.User.Identity.Name == Playlist.Owner.UserName)
                {
                    ViewData["IsOwner"] = "true";
                }
                else
                {
                    ViewData["IsOwner"] = "false";
                }

                if (Playlist != null)
                {
                    return(View(Playlist));
                }
                else
                {
                    return(Redirect("/404"));
                }
            }
            else
            {
                return(Redirect("/404"));
            }
        }
Esempio n. 10
0
        // GET: Upload
        public ActionResult Upload()
        {
            IndexViewModel invm        = new IndexViewModel();
            List <ivm>     ivm         = new List <ivm>();
            DateTime       from_date   = DateTime.Now.AddDays(-1);
            DateTime       to_date     = DateTime.Now;
            List <String>  todaysFiles = new List <String>();

            foreach (String file in Directory.GetDirectories(@"\\51-DBA\radio\Music\", "*.*", SearchOption.AllDirectories))
            {
                DirectoryInfo di = new DirectoryInfo(file);
                if (di.LastWriteTime >= from_date)
                {
                    todaysFiles.Add(file);
                }
            }

            foreach (var item in todaysFiles)
            {
                string[] files = Directory.GetFiles(@"\\" + item, "*.*", SearchOption.AllDirectories).ToArray();
                foreach (var song in files)
                {
                    TrackList index = new TrackList();
                    if (song.Contains(".mp3") || song.Contains(".flac") || song.Contains(".m4a") || song.Contains(".m4p") || song.Contains(".wma") || song.Contains(".aiff") || song.Contains(".wav") || song.Contains(".alac") ||
                        song.Contains(".ogg")) //|| item.Contains(".png") || item.Contains(".jpg"))
                    {
                        TagLib.File file = TagLib.File.Create(song);
                        index.Location = "/music/" + file.Name.Substring(23);
                        var checkentries = db.TrackLists.FirstOrDefault(x => x.Location == index.Location);
                        if (checkentries == null)
                        {
                            index.Title       = file.Tag.Title;
                            index.Album       = file.Tag.Album;
                            index.TrackNumber = checked ((int?)file.Tag.Track);
                            index.Artist      = file.Tag.FirstPerformer;
                            index.Duration    = file.Properties.Duration.ToString();
                            index.Genre       = file.Tag.FirstGenre;
                            index.TimeAdded   = DateTime.Now;
                            db.TrackLists.Add(index);
                            db.SaveChanges();
                        }
                    }
                }
            }

            var sidebar = db.PlaylistNames.Select(x => x.PlaylistName1).Distinct().ToList();

            foreach (var item in sidebar)
            {
                playlist pl = new playlist();
                pl.Playlist = item;

                invm.PlayList.Add(pl);
            }

            invm.PlayList  = invm.PlayList.ToList();
            invm.indexview = invm.indexview.ToList();
            return(RedirectToAction("Index", "Home"));
        }
Esempio n. 11
0
        public async Task <ActionResult> Edit(int playlistId, String playlistUrl, List <playlist> playlists)
        {
            String playlistName = "";

            for (var i = 0; i < playlists.Count; i++)
            {
                if (playlists[i].id == playlistId)
                {
                    playlistName = playlists[i].playlist_name;
                }
            }
            playlist newone = new playlist
            {
                id            = playlistId,
                playlist_name = playlistName,
                playlist_url  = playlistUrl
            };
            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri("http://springdevops:8080/");
            HttpResponseMessage response = client.PostAsync("editIt?key=" + playlistId, new StringContent(
                                                                new JavaScriptSerializer().Serialize(newone), Encoding.UTF8, "application/json")).Result;

            HttpClient client1 = new HttpClient();
            string     json1   = await client1.GetStringAsync("http://springdevops:8080/allPlaylist");

            string json2 = await client1.GetStringAsync("http://springdevops:8080/allFeedbacks");


            playlist[]      playlistList = new JavaScriptSerializer().Deserialize <playlist[]>(json1);
            feedback[]      feedbackList = new JavaScriptSerializer().Deserialize <feedback[]>(json2);
            List <playlist> list1        = new List <playlist>();
            List <feedback> list2        = new List <feedback>();

            for (var i = 0; i < playlistList.Length; i++)
            {
                list1.Add(playlistList[i]);
            }
            for (var i = 0; i < feedbackList.Length; i++)
            {
                list2.Add(feedbackList[i]);
            }
            dynamic mymodel = new ExpandoObject();

            mymodel.Playlists = list1;
            mymodel.Feedbacks = list2;


            if (response.IsSuccessStatusCode)
            {
                return(View("Index", mymodel));
            }
            else
            {
                ViewBag.alertMessage = "Https Error: Check the URL format to be 0-100";
                return(View("Error"));
            }
        }
Esempio n. 12
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            playlist playlist = await db.playlists.FindAsync(id);

            db.playlists.Remove(playlist);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Esempio n. 13
0
        public async Task <IHttpActionResult> Getplaylist(int id)
        {
            playlist playlist = await db.playlists.FindAsync(id);

            if (playlist == null)
            {
                return(NotFound());
            }

            return(Ok(playlist));
        }
Esempio n. 14
0
        public async Task <IHttpActionResult> Postplaylist(playlist playlist)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.playlists.Add(playlist);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = playlist.id }, playlist));
        }
        public IHttpActionResult Postplaylist(playlist playlist)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.playlists.Add(playlist);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = playlist.idplaylist }, playlist));
        }
Esempio n. 16
0
        public async Task <ActionResult> Edit([Bind(Include = "playlist_id,user_id,playlist_name,playlist_createdate")] playlist playlist)
        {
            if (ModelState.IsValid)
            {
                db.Entry(playlist).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.user_id = new SelectList(db.users, "user_id", "email", playlist.user_id);
            return(View(playlist));
        }
Esempio n. 17
0
        /// <summary>
        /// Le pasamos un usuario a nuestra playlist parseamos y añadimos estos valores a la tabla
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void button_Click(object sender, EventArgs e)
        {
            playlist    play    = new playlist();
            sqlPlaylist sqlplay = new sqlPlaylist();

            sqlCanciones cancion = new sqlCanciones();
            string       frase;

            play = new playlist(labelUsuario.Text);
            string stringIdCanciones = sqlplay.primeraVez(play);

            //cn = new cancion(stringIdCanciones);
            string[] parsear = stringIdCanciones.Split(' ');
            tablaCanciones.Rows.Clear();
            foreach (string parseado in parsear)
            {
                if (parseado.Equals(""))
                {
                    Console.WriteLine("Este espacio no");
                }
                else
                {
                    frase = parseado;
                    Console.WriteLine("Frase es " + frase);
                    try
                    {
                        if (frase.Equals(""))
                        {
                            MessageBox.Show("The playlist is empty");
                        }
                        else
                        {
                            foreach (cancion cn in cancion.conseguirPlaylist(new cancion(frase)))
                            {
                                tablaCanciones.Rows.Add(new object[] { cn.getNombre(), cn.getArtista(), cn.getGenero() });
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex);
                    }

                    /* foreach (cancion cn in cancion.buscarPorNombre(new cancion(textBoxBuscador.Text)))
                     * {
                     * //Añadimos a la tabla un objeto el cual contiene los campos(nombre cancion) de la tabla de nuestra base de datos
                     * tablaCanciones.Rows.Add(new object[] { cn.getNombre(), cn.getArtista(), cn.getGenero() });
                     * Console.WriteLine(cn.getIdCancion());
                     * }*/
                }
            }
        }
Esempio n. 18
0
        /// <summary>
        /// Seleccion de tabla
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tablaCanciones_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            sqlPlaylist  sqlplay         = new sqlPlaylist();
            playlist     play            = new playlist();
            sqlCanciones con             = new sqlCanciones();
            string       posicionNombre  = "";
            string       posicionArtista = "";

            contador = 0;
            //Si la tabla no esta vaci0a
            if (tablaCanciones.Rows[e.RowIndex].Cells[e.ColumnIndex].Value != null && e.RowIndex >= 0)
            {
                tablaCanciones.CurrentCell.Selected = true;
                //Cuando seleccionamos una tabla nos devuelve un string con el nombre del artista y la cancion
                posicionNombre  = tablaCanciones.Rows[e.RowIndex].Cells[0].FormattedValue.ToString();
                posicionArtista = tablaCanciones.Rows[e.RowIndex].Cells[1].FormattedValue.ToString();

                labelInvisibleNombre.Text  = posicionNombre;
                labelInvisibleArtista.Text = posicionArtista;
                //Console.WriteLine(posicionNombre);
                //Console.WriteLine(posicionArtista);
            }
            //Creamos objeto pasamos a la playlist el string entero y el nombre de usuario
            play = new playlist(labelUsuario.Text, stringPlaylist());
            //Si es la primera vez el cual ese usuario añade a la playlist
            if (sqlplay.primeraVez(play) == "")
            {
                buttonAñadirPlaylist.Text = "ADD TO PLAYLIST";
            }
            else
            //SI el string de esa cancion contiene la misma
            if (sqlplay.primeraVez(play).Contains(" " + play.getIdCanciones() + " "))
            {
                buttonAñadirPlaylist.Text = "DELETE TO PLAYLIST";
            }
            //Si no la contiene
            else
            {
                buttonAñadirPlaylist.Text = "ADD TO PLAYLIST";
            }
            labelNombre.Text  = labelInvisibleNombre.Text;
            labelArtista.Text = labelInvisibleArtista.Text;
            string nombre = labelInvisibleNombre.Text;

            //A memoryStream cogemos la imagen de la base de datos
            ms1 = new MemoryStream(con.imagen(nombre));
            ms1.Seek(0, SeekOrigin.Begin);
            //Insertamos la imagen en un pictureBox
            pictureBox1.Image            = Image.FromStream(ms1);
            buttonAñadirPlaylist.Visible = true;
        }
Esempio n. 19
0
        public ActionResult Index(int?page, string searchString)
        {
            IndexViewModel invm         = new IndexViewModel();
            List <ivm>     indexview    = new List <ivm>();
            var            TrackArtists = db.TrackLists.Select(x => x.Artist).Distinct().OrderBy(x => x).ToList();

            if (!String.IsNullOrEmpty(searchString))
            {
                TrackArtists = db.TrackLists.Where(s => s.Artist.Contains(searchString) ||
                                                   s.Album.Contains(searchString) ||
                                                   s.Title.Contains(searchString) ||
                                                   s.Genre.Contains(searchString)).Select(x => x.Artist).Distinct().ToList();
            }

            var pageNumber        = page ?? 1;                                // if no page was specified in the querystring, default to the first page (1)
            var onePageOfProducts = TrackArtists.ToPagedList(pageNumber, 24); // will only contain 25 products max because of the pageSize

            foreach (var item in onePageOfProducts)
            {
                var track = db.TrackLists.FirstOrDefault(x => x.Artist == item).Location;
                track = @"\\51-DBA\radio\music\" + track.Substring(7);
                TagLib.File file = TagLib.File.Create(track);

                ivm tl = new ivm();
                tl.artist = item;
                if (file.Tag.Pictures.Length >= 1)
                {
                    tl.Art = Convert.ToBase64String(file.Tag.Pictures[0].Data.Data);
                }

                invm.indexview.Add(tl);
            }

            var sidebar = db.PlaylistNames.Select(x => x.PlaylistName1).Distinct().ToList();

            foreach (var item in sidebar)
            {
                playlist pl = new playlist();
                pl.Playlist = item;

                invm.PlayList.Add(pl);
            }

            invm.PlayList     = invm.PlayList.ToList();
            invm.indexview    = invm.indexview.ToList();
            invm.StreamPlayer = invm.StreamPlayer.ToList();

            ViewBag.OnePageOfProducts = onePageOfProducts;

            return(View(invm));
        }
Esempio n. 20
0
        public async Task <IHttpActionResult> Deleteplaylist(int id)
        {
            playlist playlist = await db.playlists.FindAsync(id);

            if (playlist == null)
            {
                return(NotFound());
            }

            db.playlists.Remove(playlist);
            await db.SaveChangesAsync();

            return(Ok(playlist));
        }
Esempio n. 21
0
        // GET: Admin/Playlists/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            playlist playlist = await db.playlists.FindAsync(id);

            if (playlist == null)
            {
                return(HttpNotFound());
            }
            return(View(playlist));
        }
Esempio n. 22
0
 public void WhenHagoClickEnElBotonDeEliminarPlaylist()
 {
     try
     {
         play = playlistDao.GetPlaylists()[0];
         playlistDao.Delete(play.id);
         mensaje = "Se elimino correctamente la Playlist";
         Assert.IsTrue(true);
     }
     catch (Exception e)
     {
         Assert.Fail(e.Message);
     }
 }
Esempio n. 23
0
        public List <playlist> getplaylist()
        {
            List <playlist> lstpll = new List <playlist>();
            string          query  = "select * from playlist";
            DataTable       data   = DataProvider.Instance.ExecuteQuery(query);

            foreach (DataRow item in data.Rows)
            {
                playlist _pll = new playlist(item);
                lstpll.Add(_pll);
            }

            return(lstpll);
        }
Esempio n. 24
0
        /// <summary>
        /// Añadimos espacios al idCancion y actualizamos el valor en nuestra base de datos
        /// </summary>
        /// <param name="idCancion"></param>
        /// <returns></returns>
        public bool parsearPlaylist2(string idCancion)
        {
            playlist    play    = new playlist(labelUsuario.Text);
            sqlPlaylist sqlplay = new sqlPlaylist();
            string      frase;
            string      total = "";

            try
            {
                play = new playlist(labelUsuario.Text);
                play = new playlist(labelUsuario.Text, stringPlaylist());
                //Si la sentencia no es null y contiene el string que cogemos de idCanciones
                if (sqlplay.primeraVez(play) != null && sqlplay.primeraVez(play).Contains(" " + play.getIdCanciones() + " "))
                {
                    frase = stringIdPlaylist();
                    //Guardamos en array la frase spliteada
                    string[] parsear = frase.Split(' ');
                    foreach (string parseado in parsear)
                    {
                        if (parseado.Equals(idCancion) || parseado.Equals(""))
                        {
                            Console.WriteLine("Este fuera");
                        }
                        else
                        {
                            total += " " + parseado + " ";
                            Console.WriteLine(total);
                        }
                    }
                    play = new playlist(labelUsuario.Text, total);
                    if (sqlplay.eliminarPlaylist(play))
                    {
                        Console.WriteLine(stringPlaylist());
                        return(true);
                    }
                    return(false);
                }
                else
                {
                    Console.WriteLine("No parsea");
                    return(false);
                }
            }
            catch
            {
                Console.WriteLine("No introduce en playlist");
                return(false);
            }
        }
Esempio n. 25
0
        // GET: Admin/Playlists/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            playlist playlist = await db.playlists.FindAsync(id);

            if (playlist == null)
            {
                return(HttpNotFound());
            }
            ViewBag.user_id = new SelectList(db.users, "user_id", "email", playlist.user_id);
            return(View(playlist));
        }
Esempio n. 26
0
        private void buttonModifyPlaylist_Click(object sender, EventArgs e)
        {
            if (!(listBoxPlayLists.SelectedIndex == -1))
            {
                modifyPlaylist = (listBoxPlayLists.SelectedItem as playlist);
                playListVideos = bl.getVidoesfromVidoeIds(modifyPlaylist.getVideoIds());


                textBoxPlaylistName.Text        = modifyPlaylist.getPlaylistName();
                textBoxPlaylistDescription.Text = modifyPlaylist.getDescription();
                textBoxPlaylistTags.Text        = modifyPlaylist.getTags().ToString();
                labelPlaylistId.Text            = "Playlist ID: " + modifyPlaylist.getPlaylistId().ToString();
                buttonSavePlaylist.Enabled      = true;
            }
        }
        public void DeleteTest()
        {
            try
            {
                mock = new Mock <IPlaylist>();
                var play_ = new playlist();
                mock.Setup(x => x.Delete(play_.id));
                mock.Object.Delete(play_.id);

                Assert.IsTrue(true);
            }
            catch (Exception ex)
            {
                Assert.Fail("Fallo: " + ex.Message);
            }
        }
        public void GetPlaylistTest()
        {
            try
            {
                mock = new Mock <IPlaylist>();
                var play_ = new playlist();
                mock.Setup(x => x.GetPlaylist(play_.id)).Returns(play_);
                var onePlay = mock.Object.GetPlaylist(play_.id);

                Assert.IsTrue(onePlay != null);
            }
            catch (Exception ex)
            {
                Assert.Fail("Fallo: " + ex.Message);
            }
        }
Esempio n. 29
0
        // GET: Browse

        public ActionResult Genre()
        {
            IndexViewModel invm = new IndexViewModel();

            var sidebar = db.PlaylistNames.Select(x => x.PlaylistName1).Distinct().ToList();

            foreach (var item in sidebar)
            {
                playlist pl = new playlist();
                pl.Playlist = item;

                invm.PlayList.Add(pl);
            }

            invm.PlayList = invm.PlayList.ToList();
            return(View(invm));
        }
Esempio n. 30
0
        // GET: Details
        public ActionResult Details(int?id)
        {
            IndexViewModel invm = new IndexViewModel();

            var SelectedTrack = db.TrackLists.FirstOrDefault(i => i.ID == id);

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var track = db.TrackLists.FirstOrDefault(x => x.ID == id).Location;

            track = @"\\51-DBA\radio\music\" + track.Substring(7);
            TagLib.File file = TagLib.File.Create(track);


            if (file.Tag.Pictures.Length >= 1)
            {
                invm.Art = Convert.ToBase64String(file.Tag.Pictures[0].Data.Data);
            }

            invm.album       = SelectedTrack.Album;
            invm.artist      = SelectedTrack.Artist;
            invm.duration    = SelectedTrack.Duration;
            invm.genre       = SelectedTrack.Genre;
            invm.ID          = id;
            invm.location    = SelectedTrack.Location;
            invm.title       = SelectedTrack.Title;
            invm.tracknumber = SelectedTrack.TrackNumber;

            var sidebar = db.PlaylistNames.Select(x => x.PlaylistName1).Distinct().ToList();

            foreach (var item in sidebar)
            {
                playlist pl = new playlist();
                pl.Playlist = item;

                invm.PlayList.Add(pl);
            }

            invm.PlayList = invm.PlayList.ToList();

            return(View(invm));
        }
Esempio n. 31
0
 //downloads the playlist thumbs and saves it into local temp and adds the entries in the albums list
 private static bool downloadplaylistthumb(playlist playlisttodownload)
 {
     try
     {
         string pathtotemp = System.Windows.Forms.Application.StartupPath + "\\temp";
         if (!Directory.Exists(pathtotemp)) Directory.CreateDirectory(pathtotemp);
         string pathtoplaylist = pathtotemp + "\\playlist_" + playlisttodownload.id;
         if (!Directory.Exists(pathtoplaylist)) Directory.CreateDirectory(pathtoplaylist);
         if (!Directory.Exists(pathtoplaylist + "\\audios")) Directory.CreateDirectory(pathtoplaylist + "\\audios");
         //if (!Directory.Exists(pathtoplaylist + "\\thumbs")) Directory.CreateDirectory(pathtoplaylist + "\\thumbs");Audios have no thumbs
         string filename = pathtoplaylist + "\\" + playlisttodownload.thumb;
         if (!File.Exists(filename))
         {
             FileStream fs = new FileStream(filename, FileMode.Create);
             string remotealbumthumb = "user_" + userid + "/playlist_" + playlisttodownload.id + "/" + playlisttodownload.thumb;
             FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpurl + remotealbumthumb);
             request.Method = WebRequestMethods.Ftp.DownloadFile;
             request.Credentials = new NetworkCredential(ftpusername, ftppassword);
             FtpWebResponse response = (FtpWebResponse)request.GetResponse();
             Stream responseStream = response.GetResponseStream();
             byte[] buffer = new byte[1024];
             int bytesread = 0;
             while ((bytesread = responseStream.Read(buffer, 0, buffer.Length)) > 0)
                 fs.Write(buffer, 0, bytesread);
             fs.Close();
             responseStream.Close();
             response.Close();
         }
     }
     catch
     {
         return false;
     }
     return true;
 }
Esempio n. 32
0
 private PlayList CreatePlayList(playlist playList)
 {
     return new PlayList(new PlayListContent(playList.id, playList.name, playList.images.Select(CreatePlayListItem).ToArray()), this);
 }