public override async Task <AutorResponse> GetById(AutorFilter request, ServerCallContext context) { var autorResponse = new AutorResponse(); var result = await _servico.GetAutorAsync(Guid.Parse(request.AutorId)); if (result.Status is ResultStatus.NotFound) { autorResponse.Code = (int)context.Status.StatusCode; autorResponse.Errors.AddRange(result.Errors); autorResponse.Message = $"Nenhum autor com o id '{request.AutorId}' foi encontrado"; return(autorResponse); } autorResponse.Code = (int)result.Status; autorResponse.Errors.AddRange(result.Errors); autorResponse.Message = "Busca realizada com sucesso"; autorResponse.Data = new AutorModel { Id = result.Value.Id.ToString(), Nome = result.Value.Nome, Sobrenome = result.Value.Sobrenome, Email = result.Value.Email, Bio = result.Value.Bio, Avatar = result.Value.Avatar }; return(autorResponse); }
public override async Task <AutorResponse> Delete(AutorFilter request, ServerCallContext context) { var autorResponse = new AutorResponse(); var result = await _servico.DeleteAutorAsync(Guid.Parse(request.AutorId)); if (result.Status is ResultStatus.NotFound) { autorResponse.Code = (int)context.Status.StatusCode; autorResponse.Errors.AddRange(result.Errors); autorResponse.Message = $"Nenhum autor com o id '{request.AutorId}' foi encontrado"; return(autorResponse); } autorResponse.Code = (int)result.Status; autorResponse.Errors.AddRange(result.Errors); autorResponse.Message = "Autor deletado com sucesso"; return(autorResponse); }
public override async Task GetLivros(AutorFilter request, IServerStreamWriter <AutorLivrosResponse> responseStream, ServerCallContext context) { var livrosResponse = new AutorLivrosResponse(); var result = await _servico.GetLivrosAutorAsync(Guid.Parse(request.AutorId)); if (result.Status is ResultStatus.NotFound) { livrosResponse.Code = (int)context.Status.StatusCode; livrosResponse.Errors.AddRange(result.Errors); livrosResponse.Message = $"Nenhum autor com o id '{request.AutorId}' foi encontrado"; await responseStream.WriteAsync(livrosResponse); } livrosResponse.Code = (int)result.Status; livrosResponse.Errors.AddRange(result.Errors); livrosResponse.Message = "Busca realizada com sucesso"; livrosResponse.Data.AddRange( result.Value.Select(x => new AutorLivroModel { Id = x.Id.ToString(), Titulo = x.Titulo, Descricao = x.Descricao, Valor = Convert.ToDouble(x.Valor), Isbn10 = x.ISBN_10, Edicao = x.Edicao, Idioma = x.Idioma, DataPublicacao = x.DataPublicacao.ToShortDateString(), NumeroPaginas = x.NumeroPaginas, AutorId = x.AutorId.ToString(), EditoraId = x.EditoraId.ToString() })); await responseStream.WriteAsync(livrosResponse); }