public override async Task ListAll(EditoraSearch request, IServerStreamWriter <EditorasResponse> responseStream, ServerCallContext context) { var editorasResponse = new EditorasResponse(); var searchQuery = new EditoraSearchQuery { Nome = request.Nome }; var result = await _servico.GetEditorasAsync(filter : searchQuery); editorasResponse.Code = (int)context.Status.StatusCode; editorasResponse.Errors.AddRange(result.Errors); editorasResponse.Message = result.Errors.Any() ? "Erro ao retornar lista de editoras" : "Editoras retornadas com sucesso"; editorasResponse.Data.AddRange( result.Value.Select(x => new EditoraModel { Id = x.Id.ToString(), Nome = x.Nome, SiteURL = x.SiteURL, Endereco = x.Endereco })); await responseStream.WriteAsync(editorasResponse); }
public async Task <Result <IReadOnlyList <EditoraModel> > > GetEditorasAsync(EditoraSearchQuery filter = null) { var spec = new EditoraSearchSpecification(filter.Nome); var editoras = (await _repositorio.ListAsync(spec)).ToList(); return(Result <IReadOnlyList <EditoraModel> > .Success( _mapper.Map <IReadOnlyList <EditoraModel> >(editoras))); }