Example #1
0
 private void ButtonVistaPreviaDeAudio_Click(object sender, RoutedEventArgs e)
 {
     if (ServiciosDeIO.ExisteArchivo(DireccionDeArchivoDeAudio))
     {
         ControladorDeVistaPrevia.ReproducirVistaPrevia(DireccionDeArchivoDeAudio);
     }
 }
Example #2
0
        public override Task <RespuestaDeCaratula> CargarCaratulaDeCancionPorId(PeticionId request, ServerCallContext context)
        {
            RespuestaDeCaratula respuesta = new RespuestaDeCaratula()
            {
                Respuesta = new Respuesta()
            };

            try
            {
                if (ServiciosDeIO.VerificarEstructuraDeArchivosCancion(request.IdPeticion.ToString()))
                {
                    respuesta.Caratula          = Google.Protobuf.ByteString.CopyFrom(ServiciosDeIO.CargarCaratulaDeCancion(request.IdPeticion.ToString()));
                    respuesta.Respuesta.Exitosa = true;
                }
                else
                {
                    //No se pudo realizar la lectura, error de io
                    respuesta.Respuesta.Exitosa = false;
                    respuesta.Respuesta.Motivo  = 500;
                }
            }
            catch (IOException)
            {
                //No se encontro el archivo
                respuesta.Respuesta.Exitosa = false;
                respuesta.Respuesta.Motivo  = 500;
            }

            return(Task.FromResult(respuesta));
        }
Example #3
0
        private async void MostrarCancionesDeAlbumDeArtista(Album album)
        {
            CancionDAO     cancionDAO = new CancionDAO(UsuarioActual.Token);
            List <Cancion> respuesta;

            try
            {
                respuesta = await cancionDAO.CargarPorIdAlbum(album.Id);
            }
            catch (Exception ex)
            {
                MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex);
                MessageBox.Show(mensaje.Mensaje, mensaje.Titulo);
                return;
            }
            if (respuesta.Count == 1 && respuesta[0].Id == 0)
            {
                ListaDeCancionesDeArtista.Visibility  = Visibility.Collapsed;
                LabelNoHayCancionesDeAlbum.Visibility = Visibility.Visible;
            }
            else
            {
                ListaDeCancionesDeArtista.Visibility  = Visibility.Visible;
                LabelNoHayCancionesDeAlbum.Visibility = Visibility.Collapsed;
                ListaDeCancionesDeArtista.AsignarCanciones(respuesta);
                await CargarArtistasDeCanciones(respuesta);

                ListaDeCancionesDeArtista.AsignarCanciones(respuesta);
                await CargarAlbumDeCanciones(respuesta);

                ListaDeCancionesDeArtista.AsignarCanciones(respuesta);
            }
            ImageCaratulaDeAlbum.Source = CargarImagen(await ServiciosDeIO.CargarCaratulaDeAlbumPorId(album.Id, UsuarioActual.Token));
        }
Example #4
0
        public bool CaratulaEstaDescargada()
        {
            bool respuesta;

            respuesta = ServiciosDeIO.CaratulaEstaGuardada(this.Id);
            return(respuesta);
        }
 private async void ButtonGuardar_Click(object sender, RoutedEventArgs e)
 {
     if (ValidarCampos())
     {
         byte[] datosDeCaratula = ServiciosDeIO.CargarBytesDeArchivo(DireccionDeArchivoDeCaratula);
         foreach (Genero item in DataGridGeneros.ItemsSource)
         {
             if (((CheckBox)CheckBoxColumn.GetCellContent(item)).IsChecked == true)
             {
                 GenerosSeleccionados.Add(item.Id);
             }
         }
         AlbumDAO albumDAO = new AlbumDAO(UsuarioActual.Token);
         try
         {
             bool resultado = await albumDAO.RegistrarAlbum(TextBoxNombreDeAlbum.Text, TextBoxDescripcionDeAlbum.Text, GenerosSeleccionados, datosDeCaratula);
         }
         catch (Exception ex)
         {
             MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex);
             MessageBox.Show(mensaje.Mensaje, mensaje.Titulo);
         }
         GenerosSeleccionados = new List <int>();
     }
     else
     {
     }
 }
Example #6
0
        private void ActualizarProducto()
        {
            if (ImagenFueModificada)
            {
                Producto.Imagen = ServiciosDeIO.CargarBytesDeArchivo(DireccionDeArchivo);
            }
            Producto.Nombre         = TextBoxNombre.Text;
            Producto.Codigo         = TextBoxCodigo.Text;
            Producto.CodigoDeBarras = TextBoxCodigoDeBarras.Text;
            Producto.Creador        = Gerente.Nombre;

            ProductoDAO productoDAO = new ProductoDAO();

            try
            {
                productoDAO.ActualizarProducto(Producto);
            }
            catch (Exception e)
            {
                MessageBox.Show("Hubo un problema conectandose a la base de datos. Contacte a su administrador.", "Error", MessageBoxButton.OK, MessageBoxImage.Information);
                return;
            }
            MessageBox.Show("¡El producto fue actualizado exitosamente!", "¡Exito!", MessageBoxButton.OK, MessageBoxImage.Information);
            Controlador.Regresar();
        }
Example #7
0
 private void GuardarButton_Click(object sender, RoutedEventArgs e)
 {
     if (ValidarCampos())
     {
         Platillo.Imagen = ServiciosDeIO.CargarBytesDeArchivo(DireccionDeArchivo);
         if (Platillo.Validar())
         {
             if (ValidarGanancia())
             {
                 GuardarPlatillo();
                 Controlador.Regresar();
             }
             else
             {
                 MessageBoxResult resultadoDeMesageBox = MessageBox.Show("Esta a punto de guardar un platillo con GANANCIA NEGATIVA por lo que se venderia este platillo con PERDIDA. ¿Esta seguro que desea continuar?", "ADVERTENCIA", MessageBoxButton.YesNo, MessageBoxImage.Error);
                 if (resultadoDeMesageBox == MessageBoxResult.Yes)
                 {
                     GuardarPlatillo();
                     Controlador.Regresar();
                 }
             }
         }
         else
         {
             MessageBox.Show("El platillo debe tener por lo menos un ingrediente para ser registrado", "Advertencia", MessageBoxButton.OK, MessageBoxImage.Error);
         }
     }
     else
     {
         MessageBox.Show("Verifique los campos remarcados en rojo", "Campos invalidos", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            bool resultado;

            resultado = ServiciosDeIO.CancionEstaGuardada((int)value);
            return(resultado);
        }
Example #9
0
        private async void ButtonGuardar_Click(object sender, RoutedEventArgs e)
        {
            Mouse.OverrideCursor = Cursors.Wait;
            if (ValidarCampos())
            {
                byte[] datosDeAudio    = ServiciosDeIO.CargarBytesDeArchivo(DireccionDeArchivoDeAudio);
                byte[] datosDeCaratula = ServiciosDeIO.CargarBytesDeArchivo(DireccionDeArchivoDeCaratula);
                int    duracionDeAudio = ServiciosDeIO.ObtenerDuracionDeCancion(DireccionDeArchivoDeAudio);
                if (TipoDeUsuario == TipoDeUsuario.Artista)
                {
                    foreach (Genero item in DataGridGeneros.ItemsSource)
                    {
                        if (((CheckBox)CheckBoxColumn.GetCellContent(item)).IsChecked == true)
                        {
                            GenerosSeleccionados.Add(item.Id);
                        }
                    }
                }
                CancionDAO cancionDAO = new CancionDAO(UsuarioActual.Token);
                bool       resultado  = false;
                try
                {
                    if (TipoDeUsuario == TipoDeUsuario.Artista)
                    {
                        resultado = await cancionDAO.RegistrarCancionDeArtista(TextBoxNombreDeCancion.Text, GenerosSeleccionados, datosDeAudio, datosDeCaratula, duracionDeAudio);
                    }
                    else if (TipoDeUsuario == TipoDeUsuario.Consumidor)
                    {
                        resultado = await cancionDAO.RegistrarCancionDeConsumidor(TextBoxNombreDeCancion.Text, datosDeAudio, datosDeCaratula, duracionDeAudio);
                    }
                }
                catch (Exception ex)
                {
                    MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex);
                    MessageBox.Show(mensaje.Mensaje, mensaje.Titulo);
                    Mouse.OverrideCursor = null;
                }
                if (resultado)
                {
                    MessageBox.Show("Cancion registrada", "¡Exito!");
                    Close();
                }
                else
                {
                    MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(new Exception());
                    MessageBox.Show(mensaje.Mensaje, mensaje.Titulo);
                }
            }
            else
            {
                MessageBox.Show("Campos invalidos. Verifique e intentelo de nuevo", "Error");
                Mouse.OverrideCursor = null;
            }

            Mouse.OverrideCursor = null;
        }
Example #10
0
 public void CargarDireccionDeCancion()
 {
     if (CancionEstaDescargada())
     {
         DireccionDeCancion = ServiciosDeIO.ConstruirDireccionDeCancion(Id);
     }
     else
     {
         DireccionDeCancion = ServiciosDeIO.ConstruirDireccionTemporalDeCancion(Id);
     }
 }
Example #11
0
        public override Task <Respuesta> GuardarCaratulaDeAlbumPorId(PeticionGuardadoId request, ServerCallContext context)
        {
            Respuesta respuesta = new Respuesta();

            try
            {
                using (UVFYContext contexto = new UVFYContext())
                {
                    AlbumDAO albumDAO = new AlbumDAO();
                    if (albumDAO.CargarPorId(request.IdPeticion) != null)
                    {
                        try
                        {
                            if (ServiciosDeIO.VerificarEstructuraDeArchivosAlbum())
                            {
                                ServiciosDeIO.GuardarCaratulaDeAlbum(request.IdPeticion.ToString(), request.Datos.ToByteArray());
                                respuesta.Exitosa = true;
                            }
                            else
                            {
                                //No se pudo realizar el guardado, error de io
                                respuesta.Exitosa = false;
                                respuesta.Motivo  = 500;
                            }
                        }
                        catch (IOException)
                        {
                            //No se pudo realizar el guardado, error de io
                            respuesta.Exitosa = false;
                            respuesta.Motivo  = 500;
                        }
                    }
                    else
                    {
                        //No se encontro la cancion con el id dado (Deberia ser imposible porque se valida)
                        respuesta.Exitosa = false;
                        respuesta.Motivo  = 400;
                    }
                }
            }
            catch (AccesoADatosException)
            {
                //Error conectandose a la base de datos
                respuesta.Exitosa = false;
                respuesta.Motivo  = 500;
                return(Task.FromResult(respuesta));
            }



            return(Task.FromResult(respuesta));
        }
Example #12
0
        private async void CargarCancionesDescargadas()
        {
            if (CargarCancionesDescargadasLibre)
            {
                CargarCancionesDescargadasLibre = false;
                List <int>     idsCancionesDescargadas = ServiciosDeIO.ListarCancionesDescargadas();
                List <Cancion> cancionesDescargadas    = new List <Cancion>();
                foreach (int idCancion in idsCancionesDescargadas)
                {
                    if (ModoConectado)
                    {
                        CancionDAO cancionDAO = new CancionDAO(UsuarioActual.Token);
                        try
                        {
                            cancionesDescargadas.Add(await cancionDAO.CargarPorId(idCancion));
                        }
                        catch (Exception ex)
                        {
                            MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex);
                            MessageBox.Show(mensaje.Mensaje, mensaje.Titulo);
                            return;
                        }
                    }
                    else
                    {
                        cancionesDescargadas.Add(ServiciosDeIO.ObtenerCancionLocal(idCancion));
                    }
                }
                ListaDeCancionesDescargadas.AsignarCanciones(cancionesDescargadas);
                if (ModoConectado)
                {
                    if (cancionesDescargadas.Count == 1 && cancionesDescargadas[0].Id == 0)
                    {
                        ListaDeCancionesDescargadas.Visibility    = Visibility.Collapsed;
                        LabelNoHayCancionesDescargadas.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        ListaDeCancionesDescargadas.Visibility    = Visibility.Visible;
                        LabelNoHayCancionesDescargadas.Visibility = Visibility.Collapsed;
                        ListaDeCancionesDescargadas.AsignarCanciones(cancionesDescargadas);
                        await CargarArtistasDeCanciones(cancionesDescargadas);

                        ListaDeCancionesDescargadas.AsignarCanciones(cancionesDescargadas);
                        await CargarAlbumDeCanciones(cancionesDescargadas);

                        ListaDeCancionesDescargadas.AsignarCanciones(cancionesDescargadas);
                    }
                }
                CargarCancionesDescargadasLibre = true;
            }
        }
        private bool ValidarCampos()
        {
            bool respuesta = false;

            if (ServiciosDeIO.ExisteArchivo(DireccionDeArchivoDeCaratula))
            {
                if (ServiciosDeValidacion.ValidarCadena(TextBoxNombreDeAlbum.Text) && ServiciosDeValidacion.ValidarCadena(TextBoxDescripcionDeAlbum.Text))
                {
                    respuesta = true;
                }
            }

            return(respuesta);
        }
 private async void AsignarImagenDeCancionActual(int idCancion)
 {
     byte[] imagen;
     try
     {
         imagen = await ServiciosDeIO.CargarCaratulaDeCancionPorId(idCancion, Token);
     }
     catch (Exception ex)
     {
         MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex);
         MessageBox.Show(mensaje.Mensaje, mensaje.Titulo);
         return;
     }
     ImageCaratulaDeAlbum.Source = CargarImagen(imagen);
 }
Example #15
0
        private async void Inicializar()
        {
            Reproductor.AsignarControlador(ControladorDeReproduccion);
            ControladorDeReproduccion.AsignarInterfaz(Reproductor);
            LabelNombreDeUsuario.Content    = UsuarioActual.CorreoElectronico;
            LabelNombreDeUsuario.Visibility = Visibility.Visible;
            ServiciosDeIO.AsignarIdUsuarioActual(UsuarioActual.Id.ToString());
            AsignarDisparadores();
            PropagarTokens();
            PropagarControladorDeReproduccion();
            await CargarCanciones();

            CargarPlaylists();
            ControladorDeReproduccion.AsignarCanciones(ListaDeCanciones.Canciones);
            ControladorDeReproduccion.Pausar();
        }
Example #16
0
 private void InicializarSinConexion()
 {
     ServiciosDeIO.AsignarIdUsuarioActual(UsuarioActual.Id.ToString());
     Reproductor.AsignarControlador(ControladorDeReproduccion);
     ControladorDeReproduccion.AsignarInterfaz(Reproductor);
     (TabControlPaneles.Items[0] as TabItem).IsEnabled = false;
     (TabControlPaneles.Items[1] as TabItem).IsEnabled = false;
     (TabControlPaneles.Items[2] as TabItem).IsEnabled = false;
     (TabControlPaneles.Items[4] as TabItem).IsEnabled = false;
     (TabControlPaneles.Items[5] as TabItem).IsEnabled = false;
     TabControlPaneles.SelectedIndex = 3;
     IndiceDePestañaSeleccionada     = TabControlPaneles.SelectedIndex;
     Reproductor.AsignarModoConectado(false);
     ControladorDeReproduccion.AsignarModoConectado(false);
     ListaDeCancionesDescargadas.AsignarModoConectado(false);
     PropagarControladorDeReproduccion();
 }
Example #17
0
        public override Task <RespuestaDeCancion> CargarAudioDeCancionPorIdYCalidad(PeticionIdYCalidad request, ServerCallContext context)
        {
            RespuestaDeCancion respuesta = new RespuestaDeCancion()
            {
                Respuesta = new Respuesta()
            };

            try
            {
                if (ServiciosDeIO.VerificarEstructuraDeArchivosCancion(request.IdPeticion.ToString()))
                {
                    switch (request.Calidad)
                    {
                    case calidad.Alta:
                        respuesta.Autio = Google.Protobuf.ByteString.CopyFrom(ServiciosDeIO.CargarAudioDeCancionPorCalidad(request.IdPeticion.ToString(), TipoDeArchivo.mp3_320));
                        break;

                    case calidad.Media:
                        respuesta.Autio = Google.Protobuf.ByteString.CopyFrom(ServiciosDeIO.CargarAudioDeCancionPorCalidad(request.IdPeticion.ToString(), TipoDeArchivo.mp3_256));
                        break;

                    case calidad.Baja:
                        respuesta.Autio = Google.Protobuf.ByteString.CopyFrom(ServiciosDeIO.CargarAudioDeCancionPorCalidad(request.IdPeticion.ToString(), TipoDeArchivo.mp3_128));
                        break;
                    }
                    respuesta.Respuesta.Exitosa = true;
                }
                else
                {
                    //No se pudo realizar la lectura, error de io
                    respuesta.Respuesta.Exitosa = false;
                    respuesta.Respuesta.Motivo  = 500;
                }
            }
            catch (IOException e)
            {
                //No se encontro el archivo
                respuesta.Respuesta.Exitosa = false;
                respuesta.Respuesta.Motivo  = 500;
            }

            return(Task.FromResult(respuesta));
        }
 private void ButtonRegistrarProducto_Click(object sender, RoutedEventArgs e)
 {
     if (ValidarCampos())
     {
         Producto.Imagen = ServiciosDeIO.CargarBytesDeArchivo(DireccionDeArchivo);
         if (ValidarGanancia())
         {
             GuardarProducto();
         }
         else
         {
             MessageBoxResult resultadoDeMesageBox = MessageBox.Show("Esta a punto de guardar un producto con GANANCIA NEGATIVA por lo que se venderia este platillo con PERDIDA. ¿Esta seguro que desea continuar?", "ADVERTENCIA", MessageBoxButton.YesNo, MessageBoxImage.Error);
             if (resultadoDeMesageBox == MessageBoxResult.Yes)
             {
                 GuardarProducto();
             }
         }
     }
     else
     {
         MessageBox.Show("Verifique los campos remarcados en rojo", "Campos invalidos", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
Example #19
0
        public override Task <Respuesta> GuardarAudioDeCancionPorIdYCalidad(PeticionGuardadoIdYCalidad request, ServerCallContext context)
        {
            Respuesta respuesta = new Respuesta();

            try
            {
                using (UVFYContext contexto = new UVFYContext())
                {
                    CancionDAO cancionDAO = new CancionDAO();
                    if (cancionDAO.CargarPorId(request.IdPeticion) != null)
                    {
                        try
                        {
                            if (ServiciosDeIO.VerificarEstructuraDeArchivosCancion(request.IdPeticion.ToString()))
                            {
                                switch (request.Calidad)
                                {
                                case calidad.Alta:
                                    ServiciosDeIO.GuardarArchivoDeCancion(request.IdPeticion.ToString(), request.Datos.ToByteArray(), TipoDeArchivo.mp3_320);
                                    break;

                                case calidad.Media:
                                    ServiciosDeIO.GuardarArchivoDeCancion(request.IdPeticion.ToString(), request.Datos.ToByteArray(), TipoDeArchivo.mp3_256);
                                    break;

                                case calidad.Baja:
                                    ServiciosDeIO.GuardarArchivoDeCancion(request.IdPeticion.ToString(), request.Datos.ToByteArray(), TipoDeArchivo.mp3_128);
                                    break;
                                }
                                respuesta.Exitosa = true;
                            }
                            else
                            {
                                //No se pudo realizar el guardado, error de io
                                respuesta.Exitosa = false;
                                respuesta.Motivo  = 500;
                            }
                        }
                        catch (IOException e)
                        {
                            //No se pudo realizar el guardado, error de io
                            respuesta.Exitosa = false;
                            respuesta.Motivo  = 500;
                        }
                    }
                    else
                    {
                        //No se encontro la cancion con el id dado (Deberia ser imposible porque se valida)
                        respuesta.Exitosa = false;
                        respuesta.Motivo  = 400;
                    }
                }
            }
            catch (AccesoADatosException)
            {
                //Error conectandose a la base de datos
                respuesta.Exitosa = false;
                respuesta.Motivo  = 500;
                return(Task.FromResult(respuesta));
            }
            return(Task.FromResult(respuesta));
        }
 private void AsignarImagenLocalDeCancionActual(int idCancion)
 {
     byte[] imagen;
     imagen = ServiciosDeIO.CargarCaratulaDeCancionPorId(idCancion);
     ImageCaratulaDeAlbum.Source = CargarImagen(imagen);
 }