public IHttpActionResult Get(string estadoId, [FromUri] CidadeQuery entityQuery) { IEnumerable <CidadeResource> list = service.GetMany(estadoId, entityQuery); if (list == null) { return(NotFound()); } return(Ok(list)); }
public IEnumerable <CidadeResource> GetMany(string EstadoId, CidadeQuery entityQuery) { if (entityQuery == null) { entityQuery = new CidadeQuery(); } if (entityQuery.Nome == null) { entityQuery.Nome = string.Empty; } var query = repository.GetMany(e => e.EstadoId == EstadoId && e.CidadeId >= entityQuery.CidadeId && e.Nome.Contains(entityQuery.Nome) && (entityQuery.IncluirInativos || !e.Inativo) ) .Include(v => v.Estado); switch (entityQuery.Ordenacao) { case "id": query = query.OrderBy(s => s.CidadeId); break; case "id_desc": query = query.OrderByDescending(s => s.CidadeId); break; case "estado_id": query = query.OrderBy(s => s.EstadoId); break; case "estado_id_desc": query = query.OrderByDescending(s => s.EstadoId); break; case "nome_desc": query = query.OrderByDescending(s => s.Nome); break; default: query = query.OrderBy(s => s.Nome); break; } query = entityQuery.AplicaPaginacao(query); return(Mapper.Map <IEnumerable <Cidade>, IEnumerable <CidadeResource> >(query.ToList())); }