/// <summary> /// Regresa la cancion en la cola de reproduccion /// </summary> /// <param name="anterior"> /// Inidica si la cancion a recuperar es la anterior en la cola de reproduccion o es /// la siguiente /// </param> /// <returns>Una Cancion</returns> public Cancion ObtenerCancion(bool anterior) { Cancion cancion = null; if (anterior) { _posicionReproduccion -= 1; var cancionAnterior = _colaReproduccion.Find(ec => ec.Posicion == _posicionReproduccion); if (cancionAnterior != null && cancionAnterior.Cancion != null) { cancion = cancionAnterior.Cancion; } } else { _posicionReproduccion += 1; var proximaCancion = _colaReproduccion.Find(ec => ec.Posicion == _posicionReproduccion); if (proximaCancion != null && proximaCancion.Cancion != null) { cancion = proximaCancion.Cancion; } } return(cancion); }
public async Task <IActionResult> Edit(int id, [Bind("CancionId,Nombre,AlbumId,GeneroId")] Cancion cancion) { if (id != cancion.CancionId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(cancion); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CancionExists(cancion.CancionId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["AlbumId"] = new SelectList(_context.Albums, "AlbumId", "AlbumId", cancion.AlbumId); ViewData["GeneroId"] = new SelectList(_context.Generos, "GeneroId", "GeneroId", cancion.GeneroId); return(View(cancion)); }
public override void mostrar() { base.mostrar(); var nombre = prompt("Ingrese nombre de la cancion"); Console.Write("Ingrese nro de orden de la cancion: "); byte nroOrden = Convert.ToByte(Console.ReadLine()); Console.WriteLine("Seleccione un album: "); var album = MenuListaAlbumes.seleccionarElemento(); Cancion = new Cancion(nombre, nroOrden, album); try { AdoBanda.ADO.altaCancion(Cancion); Console.WriteLine("Cancion dado de alta con exito"); } catch (Exception e) { Console.WriteLine($"No se pudo dar de alta la cancion: {e.Message}"); } Console.ReadKey(); }
public void probarActualizarCancionSys() { var cancion = new Cancion() { idCancion = 2, nombre = "Numb", artista = "Linkin Park", album = "Numb", genero = "Rock", duracionCancion = 3.24, fechaLanzamiento = DateTime.Now, fechaRegistro = DateTime.Now, imagen = "Numb" }; var mock = new Mock <ICancionService>(); mock.Setup(o => o.actualizarCancion(cancion)); var controller = new CancionController(mock.Object, null); var result = controller.actualizarSys(cancion) as RedirectToRouteResult; Assert.IsInstanceOf <RedirectToRouteResult>(result); mock.Verify(o => o.actualizarCancion(cancion), Times.AtLeastOnce); }
//Nos delvovera una lista de objetos tipo Cancion //Pra mostrarlos en el formulario de un disco en particular public List <Cancion> ListarCan(int idD) { List <Cancion> listaCanciones = new List <Cancion>(); //Abrimos la conexion a la base de datos //para poder realizar la consulta SqlConnection conexion = obtenerConexion(); //Consulta que obtendra tods los elementos de la tabla string consulta = "SELECT* FROM TblCanciones where IdD=" + idD; //Ejecucion de la consulta en la base de datos SqlCommand comando = new SqlCommand(consulta, conexion); SqlDataReader reader = comando.ExecuteReader(); //Para que lea todas las filas usamos el HasRows if (reader.HasRows) { while (reader.Read()) { //Obtenemos los datos cada fila y lo almacenamos //en los atributos del artista Cancion cancion = new Cancion(); cancion.idCancion = reader.GetInt32(0); cancion.idDisco = reader.GetInt32(1); cancion.nombreCancion = reader.GetString(2); listaCanciones.Add(cancion); } } return(listaCanciones); }
//METODO PARA INSERTAR UN NUEVO EVENTO A LA BASE DE DATOS //METODO PARA INSERTAR UN NUEVO EVENTO A LA BASE DE DATOS public long insertar(ref Cancion objcan) { //SE LLAMA LA CONEXION conexion(); MySqlCommand comman = new MySqlCommand(); try { //CONSULTA PARA INSERTAR EN LA BASE DE DATOS string sql = "Insert into cancion (nombre,duracion,genero,idAlbum,srcSpotify)values('" + objcan.Nombre + "','" + objcan.Duracion + "','" + objcan.Genero + "'," + objcan.idAlbum + ",'" + objcan.srcSpotify + "')"; comman = new MySqlCommand(sql, conex); comman.ExecuteNonQuery(); return(comman.LastInsertedId); } catch (Exception ex) { return(-1); throw; } finally { //SIEMPRE SE CIERRA LA CONEXION AUNQUE ARROJE ERROR comman.Dispose(); conex.Close(); conex.Dispose(); } }
//METODO PARA OBTENER TODOS LOS EVENTOS DE LA BASE DE DATOS public List <Cancion> MostrarCanciones() { //SE LLAMA LA CONEXION A LA BASE DE DATOS conexion(); try { //SE HACE LA CONSULTA A LA BASE DE DATOS String strSql = "Select * from cancion;"; MySqlCommand cm = new MySqlCommand(strSql, conex); MySqlDataReader dr = cm.ExecuteReader(); //SE CREA UNA LISTA DE TIPO EVENTO List <Cancion> lista = new List <Cancion>(); //SE LEEN LOS DATOS Y SE LLENA LA LISTA CON LOS DATOS LEIDOS while (dr.Read()) { Cancion can = new Cancion(dr.GetInt32(0), dr.GetString(1), dr.GetString(2), dr.GetString(3), dr.GetInt32(4), dr.GetString(5)); lista.Add(can); } return(lista); } catch (Exception) { throw; } finally { conex.Close(); } }
public ActionResult Interface(Cancion canciones, IFormFile Cancion, IFormFile Foto) { ViewBag.ListPLayMenu = _context.PlayListas.Where(q => q.IdUsuario == LoggedUser().Id).ToList(); if (ModelState.IsValid) { // Guardar archivos rn rl servidor: if ((Cancion != null && Cancion.Length > 0) && (Foto != null && Foto.Length > 0)) { var basePath = _hostEnv.ContentRootPath + @"\wwwroot"; var ruta = @"\Music\" + Cancion.FileName; var basePath1 = _hostEnv.ContentRootPath + @"\wwwroot"; var ruta1 = @"\FtCancion\" + Foto.FileName; using (var strem = new FileStream(basePath + ruta, FileMode.Create)) { Cancion.CopyTo(strem); canciones.LinkDeCancion = ruta; } using (var strem = new FileStream(basePath1 + ruta1, FileMode.Create)) { Foto.CopyTo(strem); canciones.Foto = ruta1; } } _context.Canciones.Add(canciones); _context.SaveChanges(); return(RedirectToAction("Interface" /*lista de canciones*/)); } else { return(View("Interface", canciones)); } }
public void Creacion_de_la_tabla_Reproduccion_con_un_cliente() { var ado = new MYSQLADO(); ado.Database.EnsureDeleted(); ado.Database.EnsureCreated(); Banda unaBanda = new Banda("RXR", "12345"); unaBanda.Password = EncryptProvider.Sha256(unaBanda.Password); ado.altaBanda(unaBanda); Album unAlbum = new Album("RAR", unaBanda); ado.altaAlbum(unAlbum); Cancion unaCancion = new Cancion("D4C", 8, unAlbum); ado.altaCancion(unaCancion); Cliente unCliente = new Cliente("Ana", "Rodrigez", "*****@*****.**", "truytu"); unCliente.Password = EncryptProvider.Sha256(unCliente.Password); unCliente.ReproducirCancion(unaCancion); ado.altaCliente(unCliente); }
private async void ButtonAgregarCancionAAlbum_Click(object sender, RoutedEventArgs e) { Album albumSeleccionado = (Album)DataGridListaDeAlbumes.SelectedItem; if (albumSeleccionado != null) { Cancion cancionSeleccionada = ((FrameworkElement)sender).DataContext as Cancion; AlbumDAO albumDAO = new AlbumDAO(Artista.Token); try { bool resultado = await albumDAO.AgregarCancionAAlbum(albumSeleccionado.Id, cancionSeleccionada.Id); CargarDatos(); } catch (Exception ex) { MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex); MessageBox.Show(mensaje.Mensaje, mensaje.Titulo); } } else { MessageBox.Show("Debe elegir un album", "Ningun album seleccionado"); } }
/// <summary> /// Constructor /// </summary> public CancionViewData(Cancion cancion, DirectorioViewData viewData) { Cancion = cancion; tonos = UIConfigurationHelper.GetItemConfigurationByName(ItemsConfigurationEnum.TONOS).Items.OrderBy(m => m.Value).ToList(); compaces = UIConfigurationHelper.GetItemConfigurationByName(ItemsConfigurationEnum.COMPACES).Items.OrderBy(m => m.Value).ToList(); DirectorioData = viewData; }
public void Test_AddListaCanciones() { List <Cancion> listaCanciones = new List <Cancion>() { new Cancion("La balada del diablo y la muerte", EGenero.Rock.ToString(), "06:31", 2477), new Cancion("The Age Of Love", EGenero.Rock.ToString(), "06:31", 2477), new Cancion("Horizon Original Mix", EGenero.Techno.ToString(), "06:31", 2477), new Cancion("Cold Heart Claptone Extended Mix", EGenero.Techno.ToString(), "06:31", 2477), new Cancion("My Humps Original Mix", EGenero.TechHouse.ToString(), "06:31", 2477), }; foreach (Cancion c in listaCanciones) { MusicReports.EliminarCancion(c); } int cantidadCancionesEsperada = MusicReports.GetLista().Count + listaCanciones.Count; MusicReports.AddCanciones(listaCanciones); foreach (Cancion c in listaCanciones) { Cancion CancionAgregada = MusicReports.BuscarCancion(c.Nombre); Assert.AreEqual(c, CancionAgregada); } Assert.AreEqual(cantidadCancionesEsperada, MusicReports.GetLista().Count); }
/// <summary> /// Muestra la ventana para registrar la una cancion /// </summary> /// <param name="cancionAEditar">La cancion a editar</param> /// <param name="idAlbum">El id del album al que pertenece la cancion</param> /// <returns>La cancion registrada</returns> public static Cancion MostrarEditarCancion(Cancion cancionAEditar, int idAlbum) { var ventana = new RegistrarCancion(cancionAEditar, idAlbum); ventana.ShowDialog(); return(ventana.GetCancionRegistrada()); }
/// <summary> /// Registra la informacion de una cancion y sube la cancion al servidor /// </summary> private async void RegistrarNuevaCancion() { if (ValidarNombre() && ValidarGeneroSeleccionado() && ValidarCancionSeleccionada()) { DeshabilitarElementosPantalla(); var cancionARegistrar = CrearCancion(); try { _cancionRegistrada = await CancionClient.RegisterSong(_idAlbum, cancionARegistrar); try { var clienteCanciones = new SongsClient(); clienteCanciones.OnPorcentageUp += SubirPorcentajeAvanza; clienteCanciones.OnUploadTerminated += TerminarSubirCancion; await clienteCanciones.UploadSong(ArchivoSeleccionadoText.Text, _cancionRegistrada.id, false); } catch (RpcException) { new MensajeEmergente().MostrarMensajeError("No se pudo subir la cancion, la puede volver a " + "subir mas adelante"); Close(); } catch (Exception ex) { if (ex.Message == "AuntenticacionFallida") { new MensajeEmergente().MostrarMensajeError("No se pudo autenticar con el usuario con el " + "cual inicio sesión, se guardo la informacion de la " + "cancion pero no el archivo"); } else { new MensajeEmergente().MostrarMensajeError(ex.Message); } Close(); } } catch (HttpRequestException) { new MensajeEmergente().MostrarMensajeError("No se puede conectar al servidor, porfavor verifique " + "su conexión a internet"); } catch (Exception ex) { if (ex.Message == "AuntenticacionFallida") { new MensajeEmergente().MostrarMensajeError("No se pudo autenticar con el usuario con el " + "cual inicio sesión, no se ha guardado la canción"); Close(); } else { new MensajeEmergente().MostrarMensajeError(ex.Message); } } HabilitarElementosPantalla(); } }
private static IList <ItemReunion> BuildItemsReunion(DataRowCollection dataRowCollection, IList <Pasaje> pasajes, IList <ItemLibre> itemsLibres) { IList <ItemReunion> itemsReunion = new List <ItemReunion>(); foreach (DataRow row in dataRowCollection) { int id = (int)row["Id"]; int idReunion = (int)row["IdReunion"]; TipoItemReunion tipo = (TipoItemReunion)row["Tipo"]; int orden = (int)row["Orden"]; switch (tipo) { case TipoItemReunion.CANCION: Cancion cancion = CancionesComponent.GetCancion(id); itemsReunion.Add(cancion); break; case TipoItemReunion.PASAJE: itemsReunion.Add(pasajes.First(m => m.Id == id)); break; case TipoItemReunion.ITEM_LIBRE: itemsReunion.Add(itemsLibres.First(m => m.GetId() == id)); break; default: break; } } return(itemsReunion); }
public void Test_de_cantidad_de_reproducciones_por_Banda_asegurando_que_hay_2() { var ado = new MYSQLADO(); ado.Database.EnsureDeleted(); ado.Database.EnsureCreated(); Banda unaBanda = new Banda("TXT", "12345"); unaBanda.Password = EncryptProvider.Sha256(unaBanda.Password); ado.altaBanda(unaBanda); Album unAlbum = new Album("ROR", unaBanda); ado.altaAlbum(unAlbum); Cancion unaCancion = new Cancion("D3C", 8, unAlbum); ado.altaCancion(unaCancion); Cancion otraCancion = new Cancion("WRE", 9, unAlbum); Cliente unCliente = new Cliente("Anuel", "Rodrigez", "*****@*****.**", "ryuu"); unCliente.Password = EncryptProvider.Sha256(unCliente.Password); unCliente.ReproducirCancion(unaCancion); unCliente.ReproducirCancion(otraCancion); ado.altaCliente(unCliente); int res = unaBanda.CantidadDeReproduccionesPorBanda(); Assert.AreEqual(2, res); }
public ActionResult Index(Cancion canciones, IFormFile Cancion, IFormFile Foto) { if (ModelState.IsValid) { // Guardar archivos rn rl servidor: if ((Cancion != null && Cancion.Length > 0) && (Foto != null && Foto.Length > 0)) { var basePath = _hostEnv.ContentRootPath + @"\wwwroot"; var ruta = @"\Music\" + Cancion.FileName; var basePath1 = _hostEnv.ContentRootPath + @"\wwwroot"; var ruta1 = @"\FtCancion\" + Foto.FileName; using (var strem = new FileStream(basePath + ruta, FileMode.Create)) { Cancion.CopyTo(strem); canciones.LinkDeCancion = ruta; } using (var strem = new FileStream(basePath1 + ruta1, FileMode.Create)) { Foto.CopyTo(strem); canciones.Foto = ruta1; } } _context.Canciones.Add(canciones); _context.SaveChanges(); return(RedirectToAction("Index")); } else { ViewBag.Artista = _context.Artistas.ToList(); ViewBag.Album = _context.Albumes.ToList(); return(View("Index", canciones)); } }
private void ButtonAñadirACola_Click(object sender, RoutedEventArgs e) { Cancion cancionSeleccionada = ((FrameworkElement)sender).DataContext as Cancion; ControladorDeReproduccion.AgregarCancionAlFinal(cancionSeleccionada); MessageBox.Show("Cancion añadida"); }
public long actualizar(ref Cancion objcan) { //SE LLAMA LA CONEXION conexion(); MySqlCommand comman = new MySqlCommand(); try { //CONSULTA PARA INSERTAR EN LA BASE DE DATOS string sql = "update cancion set nombre=@nombre, duracion=@duracion, genero=@genero, idAlbum=@idAlbum, srcSpotify=@srcSpotify where idCancion=@idCancion"; comman = new MySqlCommand(sql, conex); comman.Parameters.AddWithValue("@nombre", objcan.Nombre); comman.Parameters.AddWithValue("@duracion", objcan.Duracion); comman.Parameters.AddWithValue("@genero", objcan.Genero); comman.Parameters.AddWithValue("@idAlbum", objcan.idAlbum); comman.Parameters.AddWithValue("@srcSpotify", objcan.srcSpotify); comman.Parameters.AddWithValue("@idCancion", objcan.idCancion); comman.ExecuteNonQuery(); return(comman.LastInsertedId); } catch (Exception ex) { return(-1); throw; } finally { //SIEMPRE SE CIERRA LA CONEXION AUNQUE ARROJE ERROR comman.Dispose(); conex.Close(); conex.Dispose(); } }
public Cancion ObtenerCancionPorId(string id) { UriBuilder uriBuilder = new UriBuilder(Cliente.BaseAddress + Urls.URLBusqueda + Urls.URLBuscarCancionPorId); NameValueCollection nameValueCollection = HttpUtility.ParseQueryString(string.Empty); nameValueCollection.Add("id", id); uriBuilder.Query = nameValueCollection.ToString(); HttpResponseMessage respuesta = null; try { respuesta = Cliente.GetAsync(uriBuilder.Uri).Result; } catch (AggregateException) { throw new Exception("Error. No hay conexión con el servidor."); } Cancion cancion = null; if (respuesta.IsSuccessStatusCode) { var json = respuesta.Content.ReadAsStringAsync().Result; cancion = JsonConvert.DeserializeObject <Cancion>(json); } else if (respuesta.StatusCode != System.Net.HttpStatusCode.NotFound) { throw new Exception(respuesta.Content.ReadAsStringAsync().Result); } return(cancion); }
public Cancion MostrarCancionesPorID(long id) { //SE LLAMA LA CONEXION A LA BASE DE DATOS conexion(); try { //SE HACE LA CONSULTA A LA BASE DE DATOS String strSql = "Select * from cancion where idCancion = @id;"; MySqlCommand cm = new MySqlCommand(strSql, conex); cm.Parameters.AddWithValue("@id", id); MySqlDataReader dr = cm.ExecuteReader(); //SE CREA UNA LISTA DE TIPO EVENTO Cancion cancion = null; //SE LEEN LOS DATOS Y SE LLENA LA LISTA CON LOS DATOS LEIDOS while (dr.Read()) { cancion = new Cancion(dr.GetInt32(0), dr.GetString(1), dr.GetString(2), dr.GetString(3), dr.GetInt32(4), dr.GetString(5)); } conex.Close(); return(cancion); } catch (Exception) { throw; } finally { conex.Close(); } }
private void Search(string nombre) { //Realiza la busqueda de la canción en la lista que se encuentra actualmente try { Cancion temp = listas[listaActual].Buscador[nombre]; listViewCanciones.Items.Clear(); ListViewItem item = new ListViewItem(nombre); item.SubItems.Add(temp.Interprete); item.SubItems.Add(temp.Album); item.SubItems.Add(temp.Duracion); //Si el elemento buscado se encuentra en la lista, se muestra en el ListView listViewCanciones.Items.Add(item); actual = new List <Cancion>(); actual.Add(temp); } catch (Exception e) { //Mesaje de error al buscar el elemento MessageBox.Show("No se ha encontrado la canción deseada. " + "\nRecuerde que debe ingresar el nombre tal y como se encuentra almacenado." + "\nEjemplo: 'MiCancion.mp3'", "Busqueda No Encontrada", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void probarAgregarGuardarCancion() { var cancion = new Cancion() { idCancion = 2, nombre = "El quinto teletubie", artista = "Chabelos", album = "Teletubies", genero = "Rock", duracionCancion = 3.24, fechaLanzamiento = DateTime.Now, fechaRegistro = DateTime.Now, imagen = "El quinto teletubie" }; var modelState = new ModelStateDictionary(); var mockValidation = new Mock <ICancionValidation>(); mockValidation.Setup(o => o.Validate(cancion, modelState)); mockValidation.Setup(o => o.IsValid()).Returns(true); var mockService = new Mock <ICancionService>(); mockService.Setup(o => o.guardarCancion(cancion)); var controller = new CancionController(mockService.Object, mockValidation.Object); var result = controller.agregar(cancion) as RedirectToRouteResult; Assert.IsInstanceOf <RedirectToRouteResult>(result); mockValidation.Verify(o => o.Validate(cancion, modelState), Times.AtLeastOnce); mockValidation.Verify(o => o.IsValid(), Times.AtLeastOnce); }
public async Task <Cancion> Crear(Cancion cancion) { UriBuilder uri = new UriBuilder(Cliente.BaseAddress); var cancionJson = JsonConvert.SerializeObject(cancion); var data = new StringContent(cancionJson, Encoding.UTF8, "application/json"); HttpResponseMessage respuesa = await Cliente.PostAsync(uri.Uri, data); Cancion cancionNuevo = null; if (respuesa.IsSuccessStatusCode) { var jsonString = respuesa.Content.ReadAsStringAsync().Result; cancionNuevo = JsonConvert.DeserializeObject <Cancion>(jsonString); } else if (respuesa.StatusCode == System.Net.HttpStatusCode.NotFound) { return(cancionNuevo); } else { throw new Exception(respuesa.Content.ReadAsStringAsync().Result); } return(cancionNuevo); }
/// <summary> /// Trae la lista de canciones de la base de datos /// </summary> /// <returns> List<Cancion> </returns> public static List <Cancion> BuscarCanciones() { List <Cancion> listaRetorno = new List <Cancion>(); SqlConnection coneccion = new SqlConnection(DB.coneccion); string consulta = "SELECT [nombre], [genero], [tiempo], [reproducciones] FROM [dbo].[canciones] ;"; SqlCommand comando = new SqlCommand(consulta, coneccion); try { coneccion.Open(); SqlDataReader seleccion = comando.ExecuteReader(); while (seleccion.Read()) { Cancion cancion = new Cancion(seleccion["nombre"].ToString(), seleccion["genero"].ToString(), seleccion["tiempo"].ToString(), int.Parse(seleccion["reproducciones"].ToString())); listaRetorno.Add(cancion); } return(listaRetorno); } finally { coneccion.Close(); } }
public void agregar() { DirectoryInfo directorio = new DirectoryInfo(link); List <string> canciones = new List <string>(); List <string> rutascanciones = new List <string>(); Cancion item = new Cancion(); CapaDatos datos = new CapaDatos(); foreach (var cancion in directorio.GetFiles()) { canciones.Add(cancion.Name.Replace(".mp3", "")); rutascanciones.Add(link + cancion.Name); item.setNombre(cancion.Name.Replace(".mp3", "")); listaCancion.Add(item); if (datos.existe(item)) { datos.agregar(item); } item = new Cancion(); } archivos = canciones.ToArray(); rutas = rutascanciones.ToArray(); }
public void agregar() { DirectoryInfo directorio = new DirectoryInfo(link); Cancion cancion = new Cancion(); CapaDatos datos = new CapaDatos(); Lista myList = new Lista(); foreach (var rutas in directorio.GetFiles()) { cancion.nombre = rutas.Name; cancion.ruta = link + rutas.Name; TagLib.File dataCancion = TagLib.File.Create(cancion.ruta); cancion.album = dataCancion.Tag.Album; cancion.anio = dataCancion.Tag.Year.ToString(); cancion.duracion = Convert.ToString(dataCancion.Properties.Duration); if (datos.existe(cancion.nombre)) { datos.agregar(cancion.nombre); } myList.add(cancion); cancion = new Cancion(); } canciones = myList.toArreglo(); }
public Cancion UpdateCancion(Cancion cancion) { //var cancionAux = GetCancion(cancion.CancionId); var cancionUpdate = _contextoDB.Canciones.Update(cancion).Entity; _contextoDB.SaveChanges(); return(cancionUpdate); }
public MVCancion(Cancion cancion) { Id = cancion.Id; FchCreacion = cancion.FchCreacion; Nombre = cancion.Nombre; AlbumId = cancion.AlbumId; VotableId = cancion.VotableId; }
public ActionResult DeleteConfirmed(int id) { Cancion cancion = db.Canciones.Find(id); db.Canciones.Remove(cancion); db.SaveChanges(); return(RedirectToAction("Index")); }