示例#1
0
        private async Task <bool> CargarAlbumDeCanciones(List <Cancion> canciones)
        {
            AlbumDAO albumDAO = new AlbumDAO(Token);

            foreach (Cancion cancion in canciones)
            {
                if (cancion.Album != null)
                {
                    Album respuesta;
                    try
                    {
                        respuesta = await albumDAO.CargarPorId(cancion.Album.Id);
                    }
                    catch (Exception ex)
                    {
                        MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex);
                        MessageBox.Show(mensaje.Mensaje, mensaje.Titulo);
                        return(false);
                    }

                    cancion.Album = respuesta;
                }
            }
            return(true);
        }
示例#2
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));
        }