public IEnumerable <Categoria> Obter(string termo, int temaId, int?skip, int?take) { if (!_temaService.Existe(item => item.Id == temaId && !item.EstaRemovido())) { throw new ArgumentException("Tema não encontrado"); } return(Obter( item => (string.IsNullOrEmpty(termo) || item.Nome.ToUpper().StartsWith(termo.ToUpper())) && !item.DataRemocao.HasValue && item.TemaId == temaId, skip, take )); }