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)); }
public IActionResult CargarCaratulaDeCancionPorId([FromQuery] string tokenDeAcceso, int idCancion) { IActionResult actionResult = BadRequest(); var clienteDeArchivos = new UVFYArchivos.Archivos.ArchivosClient(ServicioDeArchivos); UVFYArchivos.PeticionId peticionId = new UVFYArchivos.PeticionId { Token = new UVFYArchivos.Token { TokenDeAcceso = tokenDeAcceso }, IdPeticion = idCancion }; RespuestaDeCaratula respuesta = new RespuestaDeCaratula(); try { respuesta = clienteDeArchivos.CargarCaratulaDeCancionPorId(peticionId); } catch (System.Net.Http.HttpRequestException) { actionResult = StatusCode(500); return(actionResult); } if (respuesta.Respuesta.Exitosa) { byte[] caratula = respuesta.Caratula.ToArray(); actionResult = Ok(caratula); } else { actionResult = StatusCode(respuesta.Respuesta.Motivo); } return(actionResult); }