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); }
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)); }