public IHttpActionResult Get(string estadoId, [FromUri] CidadeQuery entityQuery)
        {
            IEnumerable <CidadeResource> list = service.GetMany(estadoId, entityQuery);

            if (list == null)
            {
                return(NotFound());
            }

            return(Ok(list));
        }
Example #2
0
        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()));
        }