コード例 #1
0
        public Usuario[] Filtrar(FiltrarCmd comando)
        {
            this.Notificacoes.Limpar();
            Usuario[] resultado = new Usuario[] { };

            resultado = this._servUsuario.Filtrar(comando);
            this.Validar(this._servUsuario);

            return(resultado);
        }
コード例 #2
0
        public async Task <HttpResponseMessage> Get([FromUri] FiltrarCmd parametros)
        {
            if (object.Equals(parametros, null))
            {
                parametros = new FiltrarCmd();
            }

            Usuario[] usuario = _usuarioServico.Filtrar(parametros);
            return(CustomResponse(usuario));
        }
コード例 #3
0
        public ActionResult IndexGet(FiltrarCmd parametros)
        {
            FiltrarResult result = new FiltrarResult(parametros);

            if (this.EhValido())
            {
                result.Resultados = this._appUsuario.Filtrar(parametros);
                this.Validar(this._appUsuario);
            }
            return(View(result));
        }
コード例 #4
0
        public async Task <HttpResponseMessage> Get([FromUri] FiltrarCmd parametros)
        {
            if (object.Equals(parametros, null))
            {
                parametros = new FiltrarCmd();
            }

            Objeto.Seguro[] resultados = new Objeto.Seguro[] { };
            resultados = _serv.Filtrar(parametros);

            return(Request.CreateResponse(HttpStatusCode.OK, resultados));
        }
コード例 #5
0
        public Usuario[] Filtrar(FiltrarCmd comando)
        {
            Usuario[] usuarios = _rep.Filtrar(comando);

            if (!object.Equals(usuarios, null) && usuarios.Count().Equals(0))
            {
                Notificar("Registros não encontrados");
            }


            return(usuarios);
        }
コード例 #6
0
        public Usuario[] Filtrar(FiltrarCmd comando)
        {
            StringBuilder sql        = new StringBuilder();
            StringBuilder sqlFiltro  = new StringBuilder();
            var           parametros = new DynamicParameters();

            sql.Append($@"SELECT 
                        U.UsuarioId,
                        U.Nome,
                        U.DataNascimento,
                        U.Email,
                        U.Ativo,
                        S.SexoId,
                        S.Descricao
                        FROM { nameof(Usuario)} AS U ");
            sql.Append($" INNER JOIN { nameof(Sexo)} As S On S.SexoId = U.SexoId ");

            if (!string.IsNullOrEmpty(comando.Nome))
            {
                sqlFiltro.Append(" AND U.Nome LIKE CONCAT('%',@Nome,'%') ");
                parametros.Add("@Nome", comando.Nome, DbType.AnsiString, size: 200);
            }

            if (!object.Equals(comando.Ativo, null))
            {
                sqlFiltro.Append(" AND U.Ativo = @Ativo  ");
                parametros.Add("@Ativo", comando.Ativo, DbType.Boolean);
            }

            sql.Append(Regex.Replace(sqlFiltro.ToString(), @"^ AND ", " WHERE "));

            try
            {
                return(_conexao.Sessao.Query <Usuario, Sexo, Usuario>(sql.ToString(),
                                                                      (usuario, sexo) =>
                {
                    usuario.Sexo = sexo;
                    return usuario;
                },
                                                                      new
                {
                    comando.Nome,
                    comando.Ativo
                }, _conexao.Transicao,
                                                                      splitOn: "UsuarioId, SexoId").ToArray());
            }
            catch (SqlException ex) { return(null); }
        }
コード例 #7
0
        public Usuario Adicionar(InserirCmd comando)
        {
            Usuario usuario   = null;
            int     resultado = 0;

            if (ExecutarValidacao(new InserirValidacao(), comando))
            {
                FiltrarCmd filtro = new FiltrarCmd()
                {
                    Nome = comando.Nome, Ativo = "true"
                };

                if (_rep.Filtrar(filtro)?.Count() > 0)
                {
                    Notificar("Já existe um usuário com essas informações");
                }

                if (!HaNotificacoes())
                {
                    Sexo sexo = _sexoRep.Get(comando.Sexo);
                    if (object.Equals(sexo, null))
                    {
                        Notificar("Não foi possível localizar o sexo do usuário");
                    }

                    if (!HaNotificacoes())
                    {
                        comando.Aplicar(ref usuario, sexo);
                        resultado = _rep.Insert(usuario);

                        if (resultado < 0)
                        {
                            Notificar("Não foi possível cadastrar o usuário");
                        }
                    }
                }
            }

            return(usuario);
        }
コード例 #8
0
 public FiltrarResult(FiltrarCmd parametros)
 {
     this.Parametros = parametros;
     this.Resultados = new Usuario[] { };
 }
コード例 #9
0
        public IEnumerable <Curso> Filtrar(FiltrarCmd comando)
        {
            this.Notificacoes.Limpar();
            IList <Curso>  resultado         = new List <Curso>();
            StringBuilder  sql               = new StringBuilder();
            StringBuilder  sqlFiltro         = new StringBuilder();
            StringBuilder  sqlPalavraChave   = new StringBuilder();
            IList <string> textoPalavraChave = comando.DesmebrarPalavraChave();

            sql.Append("    SELECT  cur FROM Curso AS cur ");

            if (this.HaItens <Status>(comando.Status))
            {
                sql.Append(" AND cur.Status IN (:Status) ");
            }

            if (this.HaItens <Guid>(comando.Cursos))
            {
                sql.Append(" AND cur.Id IN (:CursoId) ");
            }

            if (!string.IsNullOrWhiteSpace(comando.PorNome))
            {
                sql.Append(" AND cur.Nome = :PorNome ");
            }

            if (!string.IsNullOrWhiteSpace(comando.PorSigla))
            {
                sql.Append(" AND cur.Sigla = :PorSigla ");
            }

            if (this.HaItens <string>(textoPalavraChave))
            {
                sqlFiltro.Append(" AND ( ");
                for (int i = 0; i < textoPalavraChave.Count(); i++)
                {
                    sqlPalavraChave.Append(string.Format(" OR cur.Nome LIKE CollateLatinGeneral(:texto{0}) ", i));
                    sqlPalavraChave.Append(string.Format(" OR cur.Sigla LIKE CollateLatinGeneral(:texto{0}) ", i));
                }
                sqlFiltro.Append(Regex.Replace(sqlPalavraChave.ToString(), @"^ OR ", ""));
                sqlFiltro.Append(" ) ");
            }

            sql.Append(Regex.Replace(sqlFiltro.ToString(), @"^ AND ", " WHERE "));
            sql.Append(" ORDER BY cur.AlteradoEm DESC ");

            var consulta = this.Conexao.Sessao.CreateQuery(sql.ToString());

            consulta.SetMaxResults(comando.Maximo);
            consulta.SetFirstResult((comando.Pagina - 1) * comando.Maximo);
            consulta.SetResultTransformer(new DistinctRootEntityResultTransformer());

            if (this.HaItens <Guid>(comando.Cursos))
            {
                consulta.SetParameterList("CursoId", comando.Cursos);
            }

            if (this.HaItens <Status>(comando.Status))
            {
                consulta.SetParameterList("Status", comando.Status);
            }

            if (!string.IsNullOrWhiteSpace(comando.PorNome))
            {
                consulta.SetString("PorNome", comando.PorNome);
            }

            if (!string.IsNullOrWhiteSpace(comando.PorSigla))
            {
                consulta.SetString("PorSigla", comando.PorSigla);
            }

            if (this.HaItens <string>(textoPalavraChave))
            {
                for (int i = 0; i < textoPalavraChave.Count(); i++)
                {
                    consulta.SetString(string.Format("texto{0}", i), string.Format("%{0}%", textoPalavraChave[i]));
                }
            }

            resultado = consulta.List <Curso>();

            if (resultado.Count().Equals(0))
            {
                this.Notificacoes.Erro(NotificacoesMsg_Br.NaoEncontrados);
            }

            return(resultado);
        }
コード例 #10
0
 public IEnumerable <Curso> Filtrar(FiltrarCmd comando)
 {
     throw new System.NotImplementedException();
 }
コード例 #11
0
        public Objeto.Seguro[] Filtrar(FiltrarCmd comando)
        {
            IList <Objeto.Seguro> resultado = new List <Objeto.Seguro>();
            StringBuilder         sql       = new StringBuilder();
            StringBuilder         sqlFiltro = new StringBuilder();
            var parametros = new DynamicParameters();

            sql.Append($@"SELECT 
                        V.Marca,
                        V.Modelo,
                        V.ValorVeiculo,
                        Se.Nome,
                        Se.Idade,
                        Se.CPF 
                        FROM { nameof(Objeto.Seguro)} AS S ");
            sql.Append($" INNER JOIN { nameof(Veiculo)} As V On V.Id = S.IdVeiculo ");
            sql.Append($" INNER JOIN { nameof(Segurado)} As Se On Se.Id = S.IdSegurado ");

            if (!string.IsNullOrEmpty(comando.Nome))
            {
                sqlFiltro.Append(" AND Se.Nome = @Nome  ");
                parametros.Add("@Nome", comando.Nome, DbType.AnsiString, size: 255);
            }

            if (!string.IsNullOrEmpty(comando.Cpf))
            {
                sqlFiltro.Append(" AND Se.CPF = @Cpf  ");
                parametros.Add("@CPF", comando.Cpf, DbType.AnsiString, size: 15);
            }

            if (comando.Idade > 0)
            {
                sqlFiltro.Append(" AND Se.Idade = @Idade  ");
                parametros.Add("@Idade", comando.Idade, DbType.Int16);
            }

            if (!string.IsNullOrEmpty(comando.Marca))
            {
                sqlFiltro.Append(" AND V.Marca = @Marca  ");
                parametros.Add("@Marca", comando.Marca, DbType.AnsiString, size: 250);
            }

            if (!string.IsNullOrEmpty(comando.Modelo))
            {
                sqlFiltro.Append(" AND V.Modelo = @Modelo  ");
                parametros.Add("@Modelo", comando.Modelo, DbType.AnsiString, size: 250);
            }

            if (comando.ValorVeiculo > 0)
            {
                sqlFiltro.Append(" AND V.ValorVeiculo = @ValorVeiculo  ");
                parametros.Add("@ValorVeiculo", comando.ValorVeiculo, DbType.Decimal);
            }

            sql.Append(Regex.Replace(sqlFiltro.ToString(), @"^ AND ", " WHERE "));

            using (var conn = new SqlConnection(ConnectionString.Conexao))
            {
                IDataReader reader = conn.ExecuteReader(sql.ToString(), parametros);

                while (reader.Read())
                {
                    Veiculo veiculo = new Veiculo(decimal.Parse(reader["ValorVeiculo"].ToString()),
                                                  reader["Marca"].ToString(),
                                                  reader["Modelo"].ToString());
                    Segurado segurado = new Segurado(reader["Nome"].ToString(),
                                                     reader["CPF"].ToString(),
                                                     int.Parse(reader["Idade"].ToString()));

                    Objeto.Seguro seguro = new Objeto.Seguro(veiculo, segurado);
                    resultado.Add(seguro);
                }
            }

            return(resultado.ToArray());
        }
コード例 #12
0
 public Objeto.Seguro[] Filtrar(FiltrarCmd comando)
 {
     return(_seguroRep.Filtrar(comando));
 }