public bool GuardarAudioDeCancionDeArtista(int idCancion, byte[] audio) { UVFYGuardadoDeArchivos.Respuesta respuesta = new UVFYGuardadoDeArchivos.Respuesta(); var cliente = new Guardado.GuardadoClient(ServidorDeGuardado); PeticionDeGuardadoDeCancion peticion = new PeticionDeGuardadoDeCancion() { IdCancion = idCancion, AudioDeCancion = Google.Protobuf.ByteString.CopyFrom(audio) }; try { respuesta = cliente.GuardarAudioDeCancionDeArtista(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> GuardarAudioDeCancionDeArtista(PeticionDeGuardadoDeCancion request, ServerCallContext context) { Respuesta respuesta = new Respuesta { Exitosa = false }; List <byte[]> audiosConvertidos; try { audiosConvertidos = ConvertidorDeArchivos.ConvertirACalidadesEstandar(request.AudioDeCancion.ToArray(), request.IdCancion); } catch (AccesoAServicioException) { respuesta.Exitosa = false; respuesta.Motivo = 500; return(Task.FromResult(respuesta)); } catch (ResultadoDeServicioFallidoException) { respuesta.Exitosa = false; respuesta.Motivo = 500; return(Task.FromResult(respuesta)); } GuardadoDeArchivos guardadoDeArchivos = new GuardadoDeArchivos(); try { guardadoDeArchivos.GuardarAudioDeCancionDeArtista(request.IdCancion, audiosConvertidos[0], UVFYArchivos.calidad.Baja); guardadoDeArchivos.GuardarAudioDeCancionDeArtista(request.IdCancion, audiosConvertidos[1], UVFYArchivos.calidad.Media); guardadoDeArchivos.GuardarAudioDeCancionDeArtista(request.IdCancion, audiosConvertidos[2], UVFYArchivos.calidad.Alta); } catch (AccesoAServicioException) { respuesta.Exitosa = false; respuesta.Motivo = 500; return(Task.FromResult(respuesta)); } catch (ResultadoDeServicioFallidoException) { respuesta.Exitosa = false; respuesta.Motivo = 500; return(Task.FromResult(respuesta)); } respuesta.Exitosa = true; return(Task.FromResult(respuesta)); }