예제 #1
0
        /// <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);
        }
예제 #2
0
        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));
        }
예제 #3
0
        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();
        }
예제 #4
0
        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);
        }
예제 #5
0
    //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);
    }
예제 #6
0
        //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();
            }
        }
예제 #7
0
        //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();
            }
        }
예제 #8
0
        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));
            }
        }
예제 #9
0
        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");
            }
        }
예제 #11
0
 /// <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;
 }
예제 #12
0
        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();
            }
        }
예제 #15
0
        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);
        }
예제 #16
0
        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);
        }
예제 #17
0
        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));
            }
        }
예제 #18
0
        private void ButtonAñadirACola_Click(object sender, RoutedEventArgs e)
        {
            Cancion cancionSeleccionada = ((FrameworkElement)sender).DataContext as Cancion;

            ControladorDeReproduccion.AgregarCancionAlFinal(cancionSeleccionada);
            MessageBox.Show("Cancion añadida");
        }
예제 #19
0
        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);
        }
예제 #21
0
        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();
            }
        }
예제 #22
0
        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);
            }
        }
예제 #23
0
        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);
        }
예제 #24
0
        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);
        }
예제 #25
0
        /// <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();
            }
        }
예제 #26
0
        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();
        }
예제 #27
0
        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);
        }
예제 #29
0
 public MVCancion(Cancion cancion)
 {
     Id          = cancion.Id;
     FchCreacion = cancion.FchCreacion;
     Nombre      = cancion.Nombre;
     AlbumId     = cancion.AlbumId;
     VotableId   = cancion.VotableId;
 }
예제 #30
0
        public ActionResult DeleteConfirmed(int id)
        {
            Cancion cancion = db.Canciones.Find(id);

            db.Canciones.Remove(cancion);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }