public Task <HttpResponseMessage> LivrosPorMeta([FromUri] PesquisaDTO filtros, int?pagina)
        {
            HttpResponseMessage response = null;

            if (filtros.MetaDominioId == Guid.Empty || filtros.UsuarioId == Guid.Empty)
            {
                const string message = "Por favor, informe o identificador da Meta e o identificador do usuário!";
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, message));
            }

            var livro = _livrosApplication.LivrosPorMeta(filtros, PagingHelper.GetOffset(pagina),
                                                         PagingHelper.GetTake());

            if (!livro.Dto.Any())
            {
                const string message =
                    "Desculpe, não foi possível encontrar nenhum resultado para os filtros utilizados.";
                response = Request.CreateResponse(HttpStatusCode.NoContent, message);
            }
            else
            {
                response = Request.CreateResponse(HttpStatusCode.OK, livro);
            }

            var tarefa = new TaskCompletionSource <HttpResponseMessage>();

            tarefa.SetResult(response);
            return(tarefa.Task);
        }
 public TotalPaginacaoDTO RecuperarTotalRegistrosFiltro(PesquisaDTO dto)
 {
     return(new TotalPaginacaoDTO
     {
         Quantidade = _db.Carros.Where(x => x.Descricao.ToUpper().Contains(dto.ValorPesquisa.ToUpper())).Count()
     });
 }
        /// <summary>
        /// Método responsável por buscar os livros de acordo com uma meta
        /// </summary>
        /// <param name="livrosDto">DTO da entidade Livro</param>
        /// <param name="skip">Utilizado para paginação de registros</param>
        /// <param name="take">Utilizado para paginação de registros</param>
        /// <returns>Lista de livros filtrados</returns>
        public FiltrosPesquisaDTO <LivrosDTO> LivrosPorMeta(PesquisaDTO pesquisaDto, int skip = 0, int take = 10)
        {
            var total = 0;

            var listaLivros = _livrosService.LivrosPorMeta(pesquisaDto.MetaDominioId, pesquisaDto.UsuarioId,
                                                           out total, skip, take);

            return(ConverterListaDominioToDto(listaLivros, total));
        }
        public HttpResponseMessage Pesquisar(PesquisaDTO dto)
        {
            try
            {
                var carros         = _servCarros.PesquisarCarro(dto);
                var totalRegistros = _servCarros.RecuperarTotalRegistrosFiltro(dto);

                return(Request.CreateResponse(HttpStatusCode.OK, new { Content = carros, Quantidade = totalRegistros, Mensagem = "Registros recuperados com sucesso!" }));
            }
            catch (System.Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new { Mensagem = e.Message }));
            }
        }
        public Task <HttpResponseMessage> PesquisarLivros([FromUri] PesquisaDTO filtros, int?pagina)
        {
            HttpResponseMessage response = null;

            var livros = _livrosApplication.PesquisarLivros(filtros, PagingHelper.GetOffset(pagina), PagingHelper.GetTake());

            if (!livros.Dto.Any())
            {
                const string message =
                    "Desculpe, não foi possível encontrar nenhum resultado para os filtros utilizados.";
                response = Request.CreateResponse(HttpStatusCode.NoContent, message);
            }
            else
            {
                response = Request.CreateResponse(HttpStatusCode.OK, livros);
            }

            var tarefa = new TaskCompletionSource <HttpResponseMessage>();

            tarefa.SetResult(response);
            return(tarefa.Task);
        }
        public List <Importacao> PesquisarImportacao(PesquisaDTO dto)
        {
            var registros = _db.Importacao.Include("Carros").Where(x => x.Descricao.ToUpper().Contains(dto.ValorPesquisa.ToUpper())).OrderByDescending(x => x.Id).Skip((dto.Page - 1) * dto.Limit).Take(dto.Limit);

            var listImportacao = new List <Importacao>();

            foreach (var item in registros)
            {
                var importacao = new Importacao()
                {
                    Carros         = item.Carros,
                    DataImportacao = item.DataImportacao,
                    Descricao      = item.Descricao,
                    Id             = item.Id,
                    Observacao     = item.Observacao
                };

                listImportacao.Add(importacao);
            }

            return(listImportacao);
        }
        public List <ComponenteResultDTO> Search(PesquisaDTO dto)
        {
            var result = new List <ComponenteResultDTO>();

            var queryComponente = _uow.ComponenteRepository
                                  .GetAll()
                                  .Where(x => x.Publicado);

            #region Busca Padrao

            if (dto.BuscaPadrao)
            {
                if (!string.IsNullOrEmpty(dto.Pesquisa))
                {
                    queryComponente = queryComponente.Where(x => (x.Nome.Contains(dto.Pesquisa) || x.Descricao.Contains(dto.Pesquisa)));
                }

                if (!string.IsNullOrEmpty(dto.Parametro))
                {
                    queryComponente = queryComponente.Where(x => x.Parametros.Any(y => y.Nome.Contains(dto.Parametro)));
                }

                if (!string.IsNullOrEmpty(dto.Metodo))
                {
                    queryComponente = queryComponente.Where(x => x.Metodos.Any(y => y.Nome.Contains(dto.Metodo)));
                }

                if (!string.IsNullOrEmpty(dto.Evento))
                {
                    queryComponente = queryComponente.Where(x => x.Eventos.Any(y => y.Nome.Contains(dto.Evento)));
                }

                if (dto.Tags != null && dto.Tags.Count > 0)
                {
                    var idsTagsSearch = dto.Tags.Select(x => x.Id).ToList();
                    queryComponente = queryComponente.Where(x => x.ComponenteTags.Any(z => idsTagsSearch.Contains(z.TagId)));
                }
            }

            #endregion

            #region Busca Por Categoria

            if (dto.BuscaPorCategoria)
            {
                queryComponente = queryComponente.Where(x => x.CategoriaId == dto.IdCategoria);
            }

            #endregion

            result = queryComponente.Select(x => new ComponenteResultDTO
            {
                Id        = x.Id,
                Nome      = x.Nome,
                Descricao = x.Descricao,
                Usuario   = x.Usuario.Nome,
                Categoria = x.Categoria.Nome,
                Framework = x.Framework.Icone,
                Tags      = x.ComponenteTags.Select(y => new TagGetDTO
                {
                    Id   = y.Tag.Id,
                    Nome = y.Tag.Nome
                }).ToList(),
                Dependencias = x.ComponenteDependencias.Select(y => new DependenciaGetDTO
                {
                    Id     = y.Dependencia.Id,
                    Nome   = y.Dependencia.Nome,
                    Versao = y.Dependencia.Versao,
                    Status = y.Dependencia.Status,
                    Url    = y.Dependencia.Url
                }).ToList(),

                DataCriacao   = x.DataCriacao,
                HasParametros = x.Parametros.Any(),
                HasEventos    = x.Eventos.Any(),
                HasMetodos    = x.Metodos.Any()
            }).ToList();

            return(result);
        }
Esempio n. 8
0
 public List <ComponenteResultDTO> Pesquisa(PesquisaDTO dto)
 {
     return(_appService.Search(dto));
 }
 public List <Carros> PesquisarCarro(PesquisaDTO dto)
 {
     return(_db.Carros.Where(x => x.Descricao.ToUpper().Contains(dto.ValorPesquisa.ToUpper())).OrderBy(x => x.Id).Skip((dto.Page - 1) * dto.Limit).Take(dto.Limit).ToList());
 }