コード例 #1
0
        public IEnumerable <Passenger> ObterPassageirosfiltros(FiltroDTO filtro)
        {
            IQueryable <Passenger> query = Data.AsQueryable();

            if (filtro.Survived.HasValue)
            {
                query = query.Where(w => w.Survived == filtro.Survived);
            }

            if (!filtro.PClass.IsNullOrEmpty() && filtro.PClass.Any())
            {
                query = query.Where(w => filtro.PClass.Contains(w.Pclass));
            }

            if (!filtro.Sex.IsNullOrEmpty() && filtro.Sex.Any())
            {
                query = query.Where(w => filtro.Sex.Contains(w.Sex));
            }

            if (filtro.Min_Age.HasValue)
            {
                query = query.Where(w => w.Age.To <decimal>() >= filtro.Min_Age);
            }

            if (filtro.Max_Age.HasValue)
            {
                query = query.Where(w => w.Age.To <decimal>() <= filtro.Max_Age);
            }

            return(query.ToArray());
        }
コード例 #2
0
        public ActionResult FiltroPassageiros(FiltroDTO filtro)
        {
            IList <string> erros;

            try
            {
                _titanicPopService.ValidarJson(filtro, out erros);

                if (erros.Count > 0)
                {
                    throw new ArgumentException(string.Join(",", erros));
                }

                var pessoas = _titanicPopService.NumeroPessoasEncontradas(filtro);

                return(StatusCode((int)HttpStatusCode.OK, pessoas));
            }
            catch (ArgumentException ex)
            {
                return(StatusCode((int)HttpStatusCode.BadRequest, $"A requisição não é válida: {ex.Message}"));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.BadRequest, ex.Message));
            }
        }
コード例 #3
0
        public void ValidarJson(FiltroDTO filtro, out IList <string> erros)
        {
            erros = new List <string>();

            if (filtro.FieldsIsNullOrEmpty())
            {
                erros.Add("Nenhum campo foi preenchido");
            }
        }
コード例 #4
0
 public async Task <ActionResult <IEnumerable <Produto> > > GetProdutoFilter(FiltroDTO filtro)
 {
     return(await _context.Produto.Include(cat => cat.Categoria).Where(
                produto => (!filtro.IdProduto.HasValue || produto.Id == filtro.IdProduto.Value) &&
                (string.IsNullOrEmpty(filtro.NomeProduto) || produto.Nome == filtro.NomeProduto) &&
                (string.IsNullOrEmpty(filtro.DescricaoProduto) || produto.Descricao == filtro.DescricaoProduto) &&
                (!filtro.PrecoProduto.HasValue || produto.Preco == filtro.PrecoProduto.Value) &&
                (!filtro.IdCategoria.HasValue || produto.Categoria.Id == filtro.IdCategoria.Value)
                ).ToListAsync());
 }
コード例 #5
0
        public int NumeroPessoasEncontradas(FiltroDTO filtro)
        {
            var result = _titanicPopRepository.ObterPassageirosfiltros(filtro);

            if (!result.Any())
            {
                return(default(int));
            }

            return(result.Count());
        }
コード例 #6
0
        public IEnumerable <LibroDTO> GetLibrosFiltrados([FromBody] FiltroDTO filtrado)
        {
            var librosConsultas = new LibrosConsultas();
            var res             = from l in librosConsultas.ObtenerLibrosPorFiltro(filtrado.IdAutor, filtrado.IdEstado, filtrado.IdGenero)
                                  select new LibroDTO
            {
                Titulo        = l.Titulo,
                Autor         = l.Autore.Nombre + " " + l.Autore.Apellido,
                Genero        = l.Genero.Nombre,
                EstadoLectura = l.EstadosLectura.EstadoLectura
            };

            return(res);
        }
コード例 #7
0
        private List <FiltroDTO> findByIdEmpresa(int empresaId)
        {
            var filtros = _context.Filtro.Where(x => x.EmpresaId.Equals(empresaId)).ToArray();

            var filtrosDTO = new List <FiltroDTO>();


            foreach (var item in filtros)
            {
                var filtroDTO = new FiltroDTO()
                {
                    Id        = item.Id,
                    Nome      = item.Nome,
                    EmpresaId = item.EmpresaId,
                    Consulta  = item.Consulta,
                };

                filtrosDTO.Add(filtroDTO);
            }

            return(filtrosDTO.ToList());
        }
コード例 #8
0
        public async Task <ActionResult <IEnumerable <CentroSaludDTO> > > GetCentrosSaludUsandoFiltros(FiltroDTO filtro)
        {
            var centrosSalud = await _context.CentrosSalud.
                               Where(c => (filtro.Horarios.Count > 0 ? filtro.Horarios.Contains(c.HorarioAtencion) : true) &&
                                     (filtro.Barrios.Count > 0 ? filtro.Barrios.Contains(c.Barrio) : true)).
                               Include(c => c.EspecialidadesCentroSalud).
                               Select(c => Helper.CentroSaludToDTO(c)).
                               ToListAsync();

            List <CentroSaludDTO> result = new List <CentroSaludDTO>();

            if (filtro.Especialidades.Count > 0)
            {
                foreach (var centroSalud in centrosSalud)
                {
                    if (CapsContieneEspecialidades(filtro.Especialidades, centroSalud))
                    {
                        result.Add(centroSalud);
                    }
                }

                return(result);
            }
            else
            {
                return(centrosSalud);
            }
        }
コード例 #9
0
        public async Task <IActionResult> Cadastrar(FiltroDTO model)
        {
            try
            {
                var usuarioId = int.Parse((this.User.Identity.Name).Split(',')[0]);
                var empresaId = int.Parse((this.User.Identity.Name).Split(',')[1]);
                var menu      = "Dados Cliente";

                // Permissão
                var user_proprietario = await _serviceEmpresa.getEmpresaById(empresaId);

                var isPermissao = false;

                if (user_proprietario.EmpresaProprietaria != 0)
                {
                    isPermissao = _serviceUsuario.ValidaAcessoUsuarioMenu(usuarioId, empresaId, menu);
                }
                else
                {
                    isPermissao = true;
                }

                if (isPermissao)
                {
                    //string tela = this.ControllerContext.RouteData.Values["action"].ToString();
                    //this._auditoria.cadastrar(tela, this.User.Identity.Name, model);

                    //// Sempre será Cliente
                    //if (model.EmpresaProprietaria == null)
                    //{
                    //    model.EmpresaProprietaria = 1;
                    //}

                    //var empresa = _mapper.Map<Empresa>(model);

                    //var sucesso = this._service.Cadastrar(filtro);

                    //if (model.Usuario != null && !string.IsNullOrEmpty(model.Usuario.Nome))
                    //{
                    //    var cadUsuario = new UserDTO();

                    //    cadUsuario.Nome = model.Usuario.Nome;
                    //    cadUsuario.Email = model.Usuario.Email;
                    //    cadUsuario.IdEmpresaSelecionada = empresa.Id;
                    //    cadUsuario.PerfilId = 1;

                    //    _serviceUsuario.Cadastrar(cadUsuario);
                    //}

                    //if (sucesso)
                    //    return Created($"/api/empresa/buscarEmpresaPorId/{empresa.Id}", _mapper.Map<EmpresaDTO>(empresa));
                }
                else
                {
                    return(StatusCode(403, "Usuário sem permissão de acesso ao menu " + menu));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }

            return(BadRequest());
        }