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")); } }
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(); }
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("/")); } }
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("/")); }
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)); }
/// <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); } }
/// <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)); } }
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")); } }
// 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")); }
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")); } }
public async Task <ActionResult> DeleteConfirmed(int id) { playlist playlist = await db.playlists.FindAsync(id); db.playlists.Remove(playlist); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <IHttpActionResult> Getplaylist(int id) { playlist playlist = await db.playlists.FindAsync(id); if (playlist == null) { return(NotFound()); } return(Ok(playlist)); }
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)); }
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)); }
/// <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()); * }*/ } } }
/// <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; }
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)); }
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)); }
// 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)); }
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); } }
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); }
/// <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); } }
// 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)); }
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); } }
// 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)); }
// 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)); }
//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; }
private PlayList CreatePlayList(playlist playList) { return new PlayList(new PlayListContent(playList.id, playList.name, playList.images.Select(CreatePlayListItem).ToArray()), this); }