/// <summary>
        /// Consulta os assistido pelos dados contidos no ConsultarAssistidoDTO
        /// </summary>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public List<Assistido> Consultar(ConsultarAssistidoDTO filtro)
        {
            SqlCommand comando = new SqlCommand();
            comando.Connection = base.Conectar();

            SqlDataReader leitorDados;

            String sql = "select * from Assistido A inner join Pessoa P on A.CodigoAssistido = P.CodigoPessoa where ";

            SqlParameter paramCodigoAssistido = new SqlParameter("@codigoAssistido", System.Data.DbType.Int32);
            if (filtro.CodigoAssisitoValor.HasValue)
            {
                paramCodigoAssistido.Value = filtro.CodigoAssisitoValor.Value;
                sql += @"A.CodigoAssistido = @codigoAssistido and ";
            }
            else
                paramCodigoAssistido.Value = DBNull.Value;

            SqlParameter paramNome = new SqlParameter("@nome", System.Data.DbType.String);
            if (!String.IsNullOrEmpty(filtro.NomeAssistidoValor))
            {
                paramNome.Value = "%" + filtro.NomeAssistidoValor + "%";
                sql += @"P.Nome like @nome and ";
            }
            else
                paramNome.Value = DBNull.Value;

            SqlParameter paramStatusAssistido = new SqlParameter("@statusAssistido", System.Data.DbType.String);
            if (!String.IsNullOrEmpty(filtro.StatusAssistidoValor))
            {
                paramStatusAssistido.Value = filtro.StatusAssistidoValor;
                sql += "A.StatusAssistido = @statusAssistido and ";
            }
            else
                paramStatusAssistido.Value = DBNull.Value;

            SqlParameter paramStatusCadastro = new SqlParameter("@statusCadastro", System.Data.DbType.Boolean);
            if (filtro.StatusCadastroValor.HasValue)
            {
                paramStatusCadastro.Value = filtro.StatusCadastroValor.Value;
                sql += "P.Ativo = @statusCadastro and ";
            }
            else
                paramStatusCadastro.Value = DBNull.Value;

            SqlParameter paramEstadoSaude = new SqlParameter("@estadoSaude", System.Data.DbType.String);
            if (!String.IsNullOrEmpty(filtro.EstadoSaudeValor))
            {
                paramEstadoSaude.Value = filtro.EstadoSaudeValor;
                sql += "EstadoSaude = @estadoSaude and ";
            }
            else
                paramEstadoSaude.Value = DBNull.Value;

            SqlParameter paramDataEntrada = new SqlParameter("@dataEntrada", System.Data.DbType.DateTime);
            if (filtro.DataEntradaValor.HasValue)
            {
                paramDataEntrada.Value = filtro.DataEntradaValor.Value;
                sql += "DataEntrada >= @dataEntrada and "; 
            }
            else
                paramDataEntrada.Value = DBNull.Value;

            SqlParameter paramDataSaida = new SqlParameter("@dataSaida", System.Data.DbType.DateTime);
            if (filtro.DataSaidaValor.HasValue)
            {
                paramDataSaida.Value = filtro.DataSaidaValor.Value;
                sql += "(DataSaida <= @dataSaida or DataSaida is null) and ";
            }
            else
                paramDataSaida.Value = DBNull.Value;

            
            if (sql.EndsWith("where "))
                sql = sql.Replace("where ", "");
            else if (sql.EndsWith("and "))
                sql = sql.Remove(sql.Length - 4);
            
            comando.CommandText = sql;
            comando.CommandType = System.Data.CommandType.Text;

            comando.Parameters.Add(paramCodigoAssistido);
            comando.Parameters.Add(paramNome);
            comando.Parameters.Add(paramStatusAssistido);
            comando.Parameters.Add(paramStatusCadastro);
            comando.Parameters.Add(paramEstadoSaude);
            comando.Parameters.Add(paramDataEntrada);
            comando.Parameters.Add(paramDataSaida);

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

            List<Assistido> assistidoLista = new List<Assistido>();
            Assistido objAssistido;
            ContatoDados objContatoDados = new ContatoDados();

            while (leitorDados.Read())
            {
                objAssistido = new Assistido();

                //Dados Tabela Pessoa
                objAssistido.CodigoPessoa = Convert.ToInt32(leitorDados["CodigoPessoa"]);
                if (leitorDados["CodigoContato"] != DBNull.Value)
                    objAssistido.Contato_CodigoContato = Convert.ToInt32(leitorDados["CodigoContato"]);
                if (objAssistido.Contato_CodigoContato.HasValue)
                    objAssistido.Contato = objContatoDados.Obter(objAssistido.Contato_CodigoContato.Value);
                objAssistido.CodigoCasaLar = Convert.ToInt32(leitorDados["CodigoCasaLar"]);
                objAssistido.Nome = leitorDados["Nome"].ToString();
                objAssistido.Sexo = leitorDados["Sexo"].ToString();
                objAssistido.CPF = leitorDados["CPF"].ToString();
                objAssistido.RG = leitorDados["RG"].ToString();
                objAssistido.TituloEleitor = leitorDados["TituloEleitor"].ToString();
                objAssistido.DataNascimento = Convert.ToDateTime(leitorDados["DataNascimento"]);
                objAssistido.Nacionalidade = leitorDados["Nacionalidade"].ToString();
                objAssistido.Naturalidade = leitorDados["Naturalidade"].ToString();
                objAssistido.Foto = leitorDados["Foto"].ToString();
                objAssistido.TipoPessoa = leitorDados["TipoPessoa"].ToString();
                objAssistido.Ativo = Convert.ToBoolean(leitorDados["Ativo"]);

                //Dados Tabela Assistido
                objAssistido.CodigoAssistido = Convert.ToInt32(leitorDados["CodigoAssistido"]);
                objAssistido.StatusAssistido = leitorDados["StatusAssistido"].ToString();
                if (leitorDados["CertidaoNascimento"] != DBNull.Value)
                    objAssistido.CertidaoNascimento = leitorDados["CertidaoNascimento"].ToString();
                objAssistido.DataEntrada = Convert.ToDateTime(leitorDados["DataEntrada"]);
                if (leitorDados["DataSaida"] != DBNull.Value)
                    objAssistido.DataSaida = Convert.ToDateTime(leitorDados["DataSaida"]); ;
                objAssistido.EstadoSaude = leitorDados["EstadoSaude"].ToString();
                objAssistido.Peso = Convert.ToDecimal(leitorDados["Peso"]);
                objAssistido.Etnia = leitorDados["Etnia"].ToString();
                objAssistido.Altura = Convert.ToDecimal(leitorDados["Altura"]);
                objAssistido.TamanhoCamisa = leitorDados["TamCamisa"].ToString();
                objAssistido.TamanhoCalca = leitorDados["TamCalca"].ToString();
                objAssistido.TamanhoCalcado = leitorDados["TamCalcado"].ToString();
                objAssistido.Dormitorio = leitorDados["Dormitorio"].ToString(); ;
                objAssistido.Deficiente = leitorDados["Deficiente"].ToString();
                objAssistido.Hobby = leitorDados["Hobby"].ToString();
                objAssistido.HistoricoVida = leitorDados["HistoricoVida"].ToString();
                objAssistido.Pai = leitorDados["NomePai"].ToString();
                objAssistido.Mae = leitorDados["NomeMae"].ToString();
                objAssistido.PaiVivo = leitorDados["PaiVivo"].ToString();
                objAssistido.MaeViva = leitorDados["MaeViva"].ToString();
                objAssistido.CPFPai = leitorDados["CPFPai"].ToString();
                objAssistido.CPFMae = leitorDados["CPFMae"].ToString();
                objAssistido.RGPai = leitorDados["RGPai"].ToString();
                objAssistido.RGMae = leitorDados["RGMae"].ToString();
                objAssistido.TelefonePai = leitorDados["TelefonePai"].ToString();
                objAssistido.TelefoneMae = leitorDados["TelefoneMae"].ToString();
                if (leitorDados["QtdIrmaos"] != DBNull.Value)
                    objAssistido.QtdIrmaos = Convert.ToInt32(leitorDados["QtdIrmaos"]);
                objAssistido.ResponsavelLegal = leitorDados["NomeResponsavel"].ToString();
                objAssistido.CPFResponsavel = leitorDados["CpfResponsavel"].ToString();

                if (leitorDados["CodigoContatoResponsavel"] != DBNull.Value)
                    objAssistido.CodigoContatoResponsavel = Convert.ToInt32(leitorDados["CodigoContatoResponsavel"]);
                else
                    objAssistido.CodigoContatoResponsavel = null;

                //Obtém dados de Contato do Responsável
                if (objAssistido.CodigoContatoResponsavel.HasValue)
                {
                    objAssistido.ContatoResponsavel = objContatoDados.Obter(objAssistido.CodigoContatoResponsavel.Value);
                }
                EscolarDados objEscolarDados = new EscolarDados();
                //objAssistido.Escolar = objEscolarDados.Ob

                assistidoLista.Add(objAssistido);
            }
            
            return assistidoLista;
        }
        /// <summary>
        /// Obtém os assistidos pelo Código do Assistido.
        /// </summary>
        /// <param name="codigoAssistido"></param>
        /// <returns></returns>
        public Assistido Obter(int codigoAssistido)
        {
            PessoaDados objPessoaDados = new PessoaDados();
            AssistidoAdaptador objAssistidoAdaptador = new AssistidoAdaptador(); 
            Pessoa objPessoa = null;
            Assistido objAssistido = null;

            objPessoa = objPessoaDados.Obter(codigoAssistido);
            objAssistido = objAssistidoAdaptador.AdaptarPessoaParaAssistido(objPessoa);

            SqlCommand comando = new SqlCommand("select * from Assistido where CodigoAssistido = @codigoAssistido", base.Conectar());

            SqlParameter parametroCodigoAssistido = new SqlParameter("@codigoAssistido", codigoAssistido);
            parametroCodigoAssistido.DbType = System.Data.DbType.Int32;
            comando.Parameters.Add(parametroCodigoAssistido);

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

            if (leitorDados.Read())
            {
                //(CodigoAssistido, StatusAssistido, CertidaoNascimento, DataEntrada, DataSaida, EstadoSaude, 
                //          Peso, Etnia, Altura, TamCamisa, TamCalca, TamCalcado, Dormitorio, Deficiente, Hobby, HistoricoVida, 
                //          NomePai, NomeMae, PaiVivo, MaeViva, CPFPai, CPFMae, RGPai, RGMae, TelefonePai, TelefoneMae,  
                //          QtdIrmaos, NomeResponsavel, CPFResponsavel, CodigoContatoResponsavel)

                objAssistido.CodigoAssistido = codigoAssistido;
                objAssistido.StatusAssistido = leitorDados["StatusAssistido"].ToString();
                if (leitorDados["CertidaoNascimento"] != DBNull.Value)
                    objAssistido.CertidaoNascimento = leitorDados["CertidaoNascimento"].ToString();
                objAssistido.DataEntrada = Convert.ToDateTime(leitorDados["DataEntrada"]);
                if (leitorDados["DataSaida"] != DBNull.Value)
                    objAssistido.DataSaida = Convert.ToDateTime(leitorDados["DataSaida"]); ;
                objAssistido.EstadoSaude = leitorDados["EstadoSaude"].ToString();
                objAssistido.Peso = Convert.ToDecimal(leitorDados["Peso"]);
                objAssistido.Etnia = leitorDados["Etnia"].ToString();
                objAssistido.Altura = Convert.ToDecimal(leitorDados["Altura"]);
                objAssistido.TamanhoCamisa = leitorDados["TamCamisa"].ToString();
                objAssistido.TamanhoCalca = leitorDados["TamCalca"].ToString();
                objAssistido.TamanhoCalcado = leitorDados["TamCalcado"].ToString();
                objAssistido.Dormitorio = leitorDados["Dormitorio"].ToString(); ;
                objAssistido.Deficiente = leitorDados["Deficiente"].ToString();
                objAssistido.Hobby = leitorDados["Hobby"].ToString();
                objAssistido.HistoricoVida = leitorDados["HistoricoVida"].ToString();
                objAssistido.Pai = leitorDados["NomePai"].ToString();
                objAssistido.Mae = leitorDados["NomeMae"].ToString();
                objAssistido.PaiVivo = leitorDados["PaiVivo"].ToString();
                objAssistido.MaeViva = leitorDados["MaeViva"].ToString();
                objAssistido.CPFPai = leitorDados["CPFPai"].ToString();
                objAssistido.CPFMae = leitorDados["CPFMae"].ToString();
                objAssistido.RGPai = leitorDados["RGPai"].ToString();
                objAssistido.RGMae = leitorDados["RGMae"].ToString();
                objAssistido.TelefonePai = leitorDados["TelefonePai"].ToString();
                objAssistido.TelefoneMae = leitorDados["TelefoneMae"].ToString();
                if (leitorDados["QtdIrmaos"] != DBNull.Value)
                    objAssistido.QtdIrmaos = Convert.ToInt32(leitorDados["QtdIrmaos"]);
                objAssistido.ResponsavelLegal = leitorDados["NomeResponsavel"].ToString();
                objAssistido.CPFResponsavel = leitorDados["CpfResponsavel"].ToString();
                if (leitorDados["CodigoContatoResponsavel"] != DBNull.Value)
                    objAssistido.CodigoContatoResponsavel = Convert.ToInt32(leitorDados["CodigoContatoResponsavel"]);
                else
                    objAssistido.CodigoContatoResponsavel = null;
            }

            //Todo: MAYCON Pegar os dados das tabelas auxiliares
            if (objAssistido.CodigoContatoResponsavel.HasValue)
            {
                ContatoDados objContatoDados = new ContatoDados();
                objAssistido.ContatoResponsavel = objContatoDados.Obter(objAssistido.CodigoContatoResponsavel.Value);
            }

            leitorDados.Close();
            leitorDados.Dispose();

            return objAssistido;
        }
        /// <summary>
        /// Este método retorna uma lista de assistido
        /// </summary>
        /// <param name="assistidoAtivado"></param>
        /// <returns></returns>
        public List<Assistido> Listar(bool? assistidoAtivado)
        {
            SqlCommand comando = new SqlCommand();

            List<Assistido> assistidoLista = new List<Assistido>();
            Assistido objAssistido = null;
            PessoaDados objPessoaDados = new PessoaDados();
            ContatoDados objContatoDados = new ContatoDados();

            string sql = @"select * from Assistido A inner join Pessoa P ON A.CodigoAssistido = P.CodigoPessoa"; 
                                                             
            if (assistidoAtivado.HasValue)
            {
                sql += " where Ativo = @ativo";
                SqlParameter parametroAtivo = new SqlParameter("@ativo", System.Data.DbType.Boolean);
                parametroAtivo.Value = assistidoAtivado;
                comando.Parameters.Add(parametroAtivo);
            }

            comando.Connection = base.Conectar();
            comando.CommandText = sql;
            
            SqlDataReader leitorDados = comando.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

            while (leitorDados.Read())
            {
                objAssistido = new Assistido();
                
                //Dados Tabela Pessoa
                objAssistido.CodigoPessoa = Convert.ToInt32(leitorDados["CodigoPessoa"]); 
                if (leitorDados["CodigoContato"] != DBNull.Value)
                    objAssistido.Contato_CodigoContato = Convert.ToInt32(leitorDados["CodigoContato"]);
                if (objAssistido.Contato_CodigoContato.HasValue)
                    objAssistido.Contato = objContatoDados.Obter(objAssistido.Contato_CodigoContato.Value);
                objAssistido.CodigoCasaLar = Convert.ToInt32(leitorDados["CodigoCasaLar"]);
                objAssistido.Nome = leitorDados["Nome"].ToString();
                objAssistido.Sexo = leitorDados["Sexo"].ToString();
                objAssistido.CPF = leitorDados["CPF"].ToString();
                objAssistido.RG = leitorDados["RG"].ToString();
                objAssistido.TituloEleitor = leitorDados["TituloEleitor"].ToString();
                objAssistido.DataNascimento = Convert.ToDateTime(leitorDados["DataNascimento"]);
                objAssistido.Nacionalidade = leitorDados["Nacionalidade"].ToString();
                objAssistido.Naturalidade = leitorDados["Naturalidade"].ToString();
                objAssistido.Foto = leitorDados["Foto"].ToString();
                objAssistido.TipoPessoa = leitorDados["TipoPessoa"].ToString();
                objAssistido.Ativo = Convert.ToBoolean(leitorDados["Ativo"]);

                //Dados Tabela Assistido
                objAssistido.CodigoAssistido = Convert.ToInt32(leitorDados["CodigoAssistido"]);
                objAssistido.StatusAssistido = leitorDados["StatusAssistido"].ToString();
                if (leitorDados["CertidaoNascimento"] != DBNull.Value)
                    objAssistido.CertidaoNascimento = leitorDados["CertidaoNascimento"].ToString();
                objAssistido.DataEntrada = Convert.ToDateTime(leitorDados["DataEntrada"]);
                if (leitorDados["DataSaida"] != DBNull.Value)
                    objAssistido.DataSaida = Convert.ToDateTime(leitorDados["DataSaida"]);
                objAssistido.EstadoSaude = leitorDados["EstadoSaude"].ToString();
                objAssistido.Peso = Convert.ToDecimal(leitorDados["Peso"]);
                objAssistido.Etnia = leitorDados["Etnia"].ToString();
                objAssistido.Altura = Convert.ToDecimal(leitorDados["Altura"]);
                objAssistido.TamanhoCamisa = leitorDados["TamCamisa"].ToString();
                objAssistido.TamanhoCalca = leitorDados["TamCalca"].ToString();
                objAssistido.TamanhoCalcado = leitorDados["TamCalcado"].ToString();
                objAssistido.Dormitorio = leitorDados["Dormitorio"].ToString(); ;
                objAssistido.Deficiente = leitorDados["Deficiente"].ToString();
                objAssistido.Hobby = leitorDados["Hobby"].ToString();
                objAssistido.HistoricoVida = leitorDados["HistoricoVida"].ToString();
                objAssistido.Pai = leitorDados["NomePai"].ToString();
                objAssistido.Mae = leitorDados["NomeMae"].ToString();
                objAssistido.PaiVivo = leitorDados["PaiVivo"].ToString();
                objAssistido.MaeViva = leitorDados["MaeViva"].ToString();
                objAssistido.CPFPai = leitorDados["CPFPai"].ToString();
                objAssistido.CPFMae = leitorDados["CPFMae"].ToString();
                objAssistido.RGPai = leitorDados["RGPai"].ToString();
                objAssistido.RGMae = leitorDados["RGMae"].ToString();
                objAssistido.TelefonePai = leitorDados["TelefonePai"].ToString();
                objAssistido.TelefoneMae = leitorDados["TelefoneMae"].ToString();
                if (leitorDados["QtdIrmaos"] != DBNull.Value)
                    objAssistido.QtdIrmaos = Convert.ToInt32(leitorDados["QtdIrmaos"]);
                objAssistido.ResponsavelLegal = leitorDados["NomeResponsavel"].ToString();
                objAssistido.CPFResponsavel = leitorDados["CpfResponsavel"].ToString();
                
                if (leitorDados["CodigoContatoResponsavel"] != DBNull.Value)
                    objAssistido.CodigoContatoResponsavel = Convert.ToInt32(leitorDados["CodigoContatoResponsavel"]);
                else
                    objAssistido.CodigoContatoResponsavel = null;
                
                //Obtém dados de Contato do Responsável
                if (objAssistido.CodigoContatoResponsavel.HasValue)
                {
                    objAssistido.ContatoResponsavel = objContatoDados.Obter(objAssistido.CodigoContatoResponsavel.Value);
                }

                assistidoLista.Add(objAssistido);
            }

            leitorDados.Close();
            leitorDados.Dispose();

            return assistidoLista;
        }
        /// <summary>
        /// Este método retorna uma lista de Pessoa
        /// </summary>
        /// <returns></returns>
        public List<Pessoa> Listar()
        {
            ContatoDados objContatoDados = new ContatoDados();
            SqlCommand comando = new SqlCommand("select * from Pessoa order by Nome asc ", base.Conectar());

            SqlDataReader leitorDados = comando.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
            List<Pessoa> pessoaLista = new List<Pessoa>();
            Pessoa objPessoa = null;
            
            while (leitorDados.Read())
            {
                objPessoa = new Pessoa();

                objPessoa.CodigoPessoa = Convert.ToInt32(leitorDados["CodigoPessoa"]);
                if (leitorDados["CodigoContato"] != DBNull.Value)
                    objPessoa.Contato_CodigoContato = Convert.ToInt32(leitorDados["CodigoContato"]);
                else
                    objPessoa.Contato_CodigoContato = null;

                if (objPessoa.Contato_CodigoContato.HasValue)
                    objPessoa.Contato = objContatoDados.Obter(objPessoa.Contato_CodigoContato.Value);
                else
                    objPessoa.Contato = null;
                objPessoa.CodigoCasaLar = Convert.ToInt32(leitorDados["CodigoCasaLar"]);
                objPessoa.Nome = leitorDados["Nome"].ToString();
                objPessoa.Sexo = leitorDados["Sexo"].ToString();
                objPessoa.CPF = leitorDados["CPF"].ToString();
                objPessoa.RG = leitorDados["RG"].ToString();
                objPessoa.TituloEleitor = leitorDados["TituloEleitor"].ToString();
                objPessoa.DataNascimento = Convert.ToDateTime(leitorDados["DataNascimento"]);
                objPessoa.Nacionalidade = leitorDados["Nacionalidade"].ToString();
                objPessoa.Naturalidade = leitorDados["Naturalidade"].ToString();
                objPessoa.Foto = leitorDados["Foto"].ToString();
                objPessoa.TipoPessoa = leitorDados["TipoPessoa"].ToString();
                objPessoa.Ativo = Convert.ToBoolean(leitorDados["Ativo"]);

                pessoaLista.Add(objPessoa);
            }

            leitorDados.Close();
            leitorDados.Dispose();

            return pessoaLista;
        }
        /// <summary>
        /// Obtém uma Pessoa pelo Código da Pessoa
        /// </summary>
        /// <param name="codigoPessoa"></param>
        /// <returns></returns>
        public Pessoa Obter(int codigoPessoa)
        {
            ContatoDados objContatoDados = new ContatoDados();
            SqlCommand comando = new SqlCommand("select * from Pessoa where CodigoPessoa = @codigoPessoa", base.Conectar());
            SqlParameter parametroCodigoPessoa = new SqlParameter("@codigoPessoa", codigoPessoa);
            parametroCodigoPessoa.DbType = System.Data.DbType.Int32;
            comando.Parameters.Add(parametroCodigoPessoa);

            SqlDataReader leitorDados = comando.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
            Pessoa objPessoa = null;

            if (leitorDados.Read())
            {
                objPessoa = new Pessoa();

                objPessoa.CodigoPessoa = codigoPessoa;
                if (leitorDados["CodigoContato"] != DBNull.Value)
                    objPessoa.Contato_CodigoContato = Convert.ToInt32(leitorDados["CodigoContato"]);
                else
                    objPessoa.Contato_CodigoContato = null;
                if (objPessoa.Contato_CodigoContato.HasValue)
                    objPessoa.Contato = objContatoDados.Obter(objPessoa.Contato_CodigoContato.Value);
                else
                    objPessoa.Contato = null;
                objPessoa.CodigoCasaLar = Convert.ToInt32(leitorDados["CodigoCasaLar"]);
                objPessoa.Nome = leitorDados["Nome"].ToString();
                objPessoa.Sexo = leitorDados["Sexo"].ToString();
                objPessoa.CPF = leitorDados["CPF"].ToString();
                objPessoa.RG = leitorDados["RG"].ToString();
                objPessoa.TituloEleitor = leitorDados["TituloEleitor"].ToString();
                objPessoa.DataNascimento = Convert.ToDateTime(leitorDados["DataNascimento"]);
                objPessoa.Nacionalidade = leitorDados["Nacionalidade"].ToString();
                objPessoa.Naturalidade = leitorDados["Naturalidade"].ToString();
                objPessoa.Foto = leitorDados["Foto"].ToString();
                objPessoa.TipoPessoa = leitorDados["TipoPessoa"].ToString();
                objPessoa.Ativo = Convert.ToBoolean(leitorDados["Ativo"]);
            }

            leitorDados.Close();
            leitorDados.Dispose();

            return objPessoa;
        }
        /// <summary>
        /// Obtém os dados escolares pelo Código Escolar.
        /// </summary>
        /// <param name="codigoEscolar"></param>
        /// <returns></returns>
        public Escolar Obter(int codigoEscolar)
        {
            SqlCommand comando = new SqlCommand("select * from Escolar where CodigoEscolar = @codigoEscolar", base.Conectar());
            SqlParameter parametroCodigoEscolar = new SqlParameter("@codigoEscolar", codigoEscolar);
            parametroCodigoEscolar.DbType = System.Data.DbType.Int32;
            comando.Parameters.Add(parametroCodigoEscolar);

            SqlDataReader leitorDados = comando.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
            Escolar objEscolar = null;

            if (leitorDados.Read())
            {
                objEscolar = new Escolar();

                objEscolar.CodigoEscolar = codigoEscolar;
                objEscolar.Assistido_CodigoAssistido = Convert.ToInt32(leitorDados["CodigoAssistido"]);
                objEscolar.Contato_CodigoContato = Convert.ToInt32(leitorDados["CodigoContato"]);
                objEscolar.Instituicao = leitorDados["Instituicao"].ToString();
                objEscolar.NumInscricaoInstituicao = leitorDados["NumInscricaoInstituicao"].ToString();
                objEscolar.MediaEscola = Convert.ToDecimal(leitorDados["MediaEscola"]);
                objEscolar.GrauEscolaridade = leitorDados["GrauEscolaridade"].ToString();
                objEscolar.SerieCursada = leitorDados["SerieCursada"].ToString();
                objEscolar.DataMatricula = Convert.ToDateTime(leitorDados["DataMatricula"]);
                if (leitorDados["DataSaida"] != DBNull.Value)
                    objEscolar.DataSaida = Convert.ToDateTime(leitorDados["DataSaida"]);
                objEscolar.StatusSerie = leitorDados["StatusSerie"].ToString();
            }

            leitorDados.Close();
            leitorDados.Dispose();

            ContatoDados objContatoDados = new ContatoDados();
            objEscolar.Contato = objContatoDados.Obter(objEscolar.Contato_CodigoContato.Value);

            return objEscolar;
        }
        /// <summary>
        /// Obtém o ultimo código da escola Inserida
        /// </summary>
        /// <param name="codigoEscolar"></param>
        /// <returns></returns>
        public Escolar ObterUltima()
        {
            SqlCommand comando = new SqlCommand(@"SELECT TOP (1) * FROM Escolar ORDER BY CodigoEscolar DESC", base.Conectar());

            SqlDataReader leitorDados = comando.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
            Escolar objEscolar = null;

            if (leitorDados.Read())
            {
                objEscolar = new Escolar();
                objEscolar.Assistido_CodigoAssistido = Convert.ToInt32(leitorDados["CodigoAssistido"]);
                objEscolar.CodigoEscolar = Convert.ToInt32(leitorDados["CodigoEscolar"]);
                objEscolar.Contato_CodigoContato = Convert.ToInt32(leitorDados["CodigoContato"]);
                objEscolar.DataMatricula = Convert.ToDateTime(leitorDados["DataMatricula"]);
                if (leitorDados["DataSaida"] != DBNull.Value)
                    objEscolar.DataSaida = Convert.ToDateTime(leitorDados["DataSaida"]);
                objEscolar.GrauEscolaridade = leitorDados["GrauEscolaridade"].ToString();
                objEscolar.Instituicao = leitorDados["Instituicao"].ToString();
                objEscolar.MediaEscola = Convert.ToInt32(leitorDados["MediaEscola"]);
                objEscolar.NumInscricaoInstituicao = leitorDados["NumInscricaoInstituicao"].ToString();
                objEscolar.SerieCursada = leitorDados["SerieCursada"].ToString();
                objEscolar.StatusSerie = leitorDados["StatusSerie"].ToString();

            }

            leitorDados.Close();
            leitorDados.Dispose();

            ContatoDados objContatoDados = new ContatoDados();
            objEscolar.Contato = objContatoDados.Obter(objEscolar.Contato_CodigoContato.Value);


            return objEscolar;
        }
        /// <summary>
        /// Obtém a CasaLar sem o seu Código
        /// </summary>
        /// <param name="codigoCasaLar"></param>
        /// <returns></returns>
        public CasaLar Obter()
        {
            SqlCommand comando = new SqlCommand("select TOP(1) * from CasaLar ORDER BY codigocasalar ASC", base.Conectar());

            SqlDataReader leitorDados = comando.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
            CasaLar objCasaLar = null;

            if (leitorDados.Read())
            {
                objCasaLar = new CasaLar();

                objCasaLar.CodigoCasaLar = Convert.ToInt32(leitorDados["CodigoCasalar"]);
                objCasaLar.CodigoContato = Convert.ToInt32(leitorDados["CodigoContato"]);
                objCasaLar.NomeCasaLar = leitorDados["NomeCasaLar"].ToString();
                objCasaLar.CNPJ = leitorDados["CNPJ"].ToString();
                objCasaLar.Alvara = leitorDados["Alvara"].ToString();
                objCasaLar.DataFundacao = Convert.ToDateTime(leitorDados["DataFundacao"]);
                objCasaLar.Historia = leitorDados["Historia"].ToString();
                objCasaLar.Gestor = leitorDados["Gestor"].ToString();
                objCasaLar.StatusCasaLar = leitorDados["Status"].ToString();
                objCasaLar.QtdMaxAssistidos = Convert.ToInt32(leitorDados["QtdMaximaAssistidos"]);
                objCasaLar.QtdAssistidos = Convert.ToInt32(leitorDados["QtdAssistidos"]);
                objCasaLar.TelefoneGestor = leitorDados["TelefoneGestor"].ToString();
                objCasaLar.EmailGestor = leitorDados["EmailGestor"].ToString();


                ///TODO: Maycon
                ///objCasaLar.Foto = leitorDados["Foto"].ToString();


            }

            if (objCasaLar != null && objCasaLar.CodigoContato != null)
            {
                ContatoDados objContatoDados = new ContatoDados();
                objCasaLar.Contato = objContatoDados.Obter(objCasaLar.CodigoContato.Value);
            }

            leitorDados.Close();
            leitorDados.Dispose();

            return objCasaLar;
        }