protected void btnLocalizar_Click(object sender, EventArgs e)
        {
            SGSServico objSGSServico = new SGSServico();
            
            ProcedimentosDTO = new ProcedimentosDTO();


            if (ddlAssistido.SelectedValue == "Selecione")
            {
                ProcedimentosDTO.AssistidoValor = null;
            }
            else
            {
                ProcedimentosDTO.AssistidoValor = Convert.ToInt32(ddlAssistido.SelectedValue);
            }


            if (txtDataMarcada.Text == "")
            {
                ProcedimentosDTO.DataMarcadaValor = null;
            }
            else
            {
                ProcedimentosDTO.DataMarcadaValor = Convert.ToDateTime(txtDataMarcada.Text);
            }

            ProcedimentosDTO = objSGSServico.ConsultarProcedimentos(ProcedimentosDTO);


            GridProcedimentosDataSource = ProcedimentosDTO.ProcedimentosAssistidoDTOLista;

        }
        /// <summary>
        /// Consulta a tabela Procedimentos e retorna resultados de acordo com o preenchimento do filtro
        /// </summary>

        public ProcedimentosDTO ConsultarProcedimentos(ProcedimentosDTO objProcedimentosDTO)
        {
            ProcedimentosDados objProcedimentosDados = new ProcedimentosDados();
            objProcedimentosDTO.ProcedimentosAssistidoDTOLista = objProcedimentosDados.ConsultarProcedimentos(objProcedimentosDTO);

            return objProcedimentosDTO;

        }
        /// <summary>
        /// Retorna uma lista de ProcedimentosAssistidoDTO conforme o Filtro
        /// </summary>
        /// <param name="objProcedimentosDTO"></param>
        /// <returns></returns>
        public List<ProcedimentosAssistidoDTO> Consultar(ProcedimentosDTO objProcedimentosDTO)
        {
            SqlCommand comando = new SqlCommand();
            comando.Connection = base.Conectar();

            SqlDataReader leitorDados;

            SqlParameter paramAssistidoValor = new SqlParameter("@assistidoValor", System.Data.SqlDbType.Int);
            if (objProcedimentosDTO.AssistidoValor.HasValue)
                paramAssistidoValor.Value = objProcedimentosDTO.AssistidoValor.Value;
            else
                paramAssistidoValor.Value = DBNull.Value;

            SqlParameter paramDataMarcadaValor = new SqlParameter("@dataMarcadaValor", System.Data.SqlDbType.DateTime);
            if (objProcedimentosDTO.DataMarcadaValor.HasValue)
                paramDataMarcadaValor.Value = objProcedimentosDTO.DataMarcadaValor.Value;
            else
                paramDataMarcadaValor.Value = DBNull.Value;


            String sql = "select * from Procedimentos PR inner join Pessoa P on P.CodigoPessoa = PR.CodigoAssistido";

            //Se apenas Assistido  e Data Marcada preenchidos
            if (objProcedimentosDTO.AssistidoValor.HasValue && objProcedimentosDTO.DataMarcadaValor.HasValue)
                sql += @" where CodigoAssistido = @assistidoValor and DataMarcada = @dataMarcadaValor";

            //Se apenas Assistido preenchido
            else if (objProcedimentosDTO.AssistidoValor.HasValue)
                sql += @" where CodigoAssistido = @assistidoValor";

            //Se apenas Data Marcada
            else if (objProcedimentosDTO.DataMarcadaValor.HasValue)
                sql += @" where DataMarcada = @dataMarcadaValor";

            if (sql.Contains("where"))
                sql += " and P.Ativo = 1";
            else
                sql += " where P.Ativo = 1";

            comando.CommandText = sql;
            comando.CommandType = System.Data.CommandType.Text;
            comando.Parameters.Add(paramAssistidoValor);
            comando.Parameters.Add(paramDataMarcadaValor);

            leitorDados = comando.ExecuteReader(System.Data.CommandBehavior.CloseConnection);



            List<ProcedimentosAssistidoDTO> procedimentosAssistidoDTOLista = new List<ProcedimentosAssistidoDTO>();
            ProcedimentosAssistidoDTO objProcedimentosAssistidoDTO;

            while (leitorDados.Read())
            {
                objProcedimentosAssistidoDTO = new ProcedimentosAssistidoDTO();

                objProcedimentosAssistidoDTO.NomeAssistido = leitorDados["Nome"].ToString();
                objProcedimentosAssistidoDTO.CodigoProcedimento = Convert.ToInt32(leitorDados["CodigoProcedimento"]);
                objProcedimentosAssistidoDTO.CodigoAssistido = Convert.ToInt32(leitorDados["CodigoAssistido"]);
                objProcedimentosAssistidoDTO.TipoProcedimento = leitorDados["TipoProcedimento"].ToString();
                objProcedimentosAssistidoDTO.Descricao = leitorDados["Descricao"].ToString();
                objProcedimentosAssistidoDTO.StatusProcedimento = leitorDados["StatusProcedimento"].ToString();
                objProcedimentosAssistidoDTO.PessoaAtendente = leitorDados["PessoaAtendente"].ToString();
                objProcedimentosAssistidoDTO.LaudoAtendente = leitorDados["LaudoAtendente"].ToString();

                if (leitorDados["DataMarcada"] != DBNull.Value)
                    objProcedimentosAssistidoDTO.DataMarcada = Convert.ToDateTime(leitorDados["DataMarcada"]);

                procedimentosAssistidoDTOLista.Add(objProcedimentosAssistidoDTO);
            }

            return procedimentosAssistidoDTOLista;
        }