public bool GuardarCaratulaDeAlbum(int idAlbum, byte[] caratula) { UVFYArchivos.Respuesta respuesta = new UVFYArchivos.Respuesta(); var cliente = new Archivos.ArchivosClient(ServicioDeArchivos); PeticionGuardadoId peticion = new PeticionGuardadoId(); peticion.Datos = Google.Protobuf.ByteString.CopyFrom(caratula); peticion.IdPeticion = idAlbum; try { respuesta = cliente.GuardarCaratulaDeAlbumPorId(peticion); } catch (System.Net.Http.HttpRequestException e) { throw new AccesoAServicioException("Archivos", e); } catch (Grpc.Core.RpcException e) { throw new AccesoAServicioException("Sesiones", e); } if (respuesta.Exitosa) { return(true); } else { throw new ResultadoDeServicioFallidoException("Sesiones"); } }
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)); }