Ejemplo n.º 1
0
        public ActionResult Index()
        {
            var filtro = new ContatoFiltro();

            ViewData["FiltroModel"] = filtro;
            return(View(_contatoRespository.FindByFiltro(filtro)));
        }
Ejemplo n.º 2
0
 public IActionResult Index(ContatoFiltro contato)
 {
     ViewBag.TipoContato = _dbservice.ListarTipoContato();
     ViewBag.Contato     = _dbservice.ListarContato(null, contato.TipoContato, contato.busca);
     return(View());
 }
Ejemplo n.º 3
0
        public List <Contato> FindByFiltro(ContatoFiltro filtro)
        {
            string sql = @" 
                            SELECT C.* 
                                FROM Contato C
                                INNER JOIN Pessoa P ON 
                                    C.IdPessoa = p.IdPessoa
                                WHERE  (@Email = '' OR (InfoContato = @Email AND IdTipoContato = 1)) AND
                                        (@Telefone = '' OR (InfoContato = @Telefone AND IdTipoContato = 1)) AND
                                        (@NomPessoa = '' OR P.Nome = @NomPessoa) 
                                        
                            ORDER BY P.Nome, C.NomeContato
                        ";


            if (string.IsNullOrEmpty(filtro.Email))
            {
                filtro.Email = "";
            }
            if (string.IsNullOrEmpty(filtro.Telefone))
            {
                filtro.Telefone = "";
            }

            if (string.IsNullOrEmpty(filtro.NomePessoa))
            {
                filtro.NomePessoa = "";
            }

            using (var conn = new SqlConnection(StringConnection))
            {
                var cmd = new SqlCommand(sql, conn);

                cmd.Parameters.AddWithValue("@Email", filtro.Email);
                cmd.Parameters.AddWithValue("@Telefone", filtro.Telefone);
                cmd.Parameters.AddWithValue("@NomPessoa", filtro.NomePessoa);

                List <Contato> list = new List <Contato>();
                Contato        c    = null;
                try
                {
                    conn.Open();
                    using (var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                    {
                        while (reader.Read())
                        {
                            c               = new Contato();
                            c.IdContato     = (int)reader["IdContato"];
                            c.IdPessoa      = (int)reader["IdPessoa"];
                            c.IdTipoContato = (int)reader["IdTipoContato"];
                            c.NomeContato   = reader["NomeContato"].ToString();
                            c.InfoContato   = reader["InfoContato"].ToString();
                            c.Pessoa        = _pessoaRepository.GetById(c.IdPessoa);
                            c.TipoContato   = _tipoContatoRepository.GetById(c.IdTipoContato);

                            list.Add(c);
                        }
                    }
                }
                catch (Exception e)
                {
                    throw e;
                }
                return(list);
            }
        }