/// <summary>
        /// Evento onClick do Localizar
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnLocalizar_Click(object sender, EventArgs e)
        {
            SGSServico objSGSServico = new SGSServico();

            OrcamentoDTO = new OrcamentoDTO();

            if (ddlNomePlano.SelectedValue != "Selecione")
            {
                OrcamentoDTO.CodigoOrcamentoValor = Convert.ToInt32(ddlNomePlano.SelectedValue);
            }
            else
            {
                OrcamentoDTO.CodigoOrcamentoValor = null;
            }

           
            if (txtInicioVigencia.Text == "")
            {
                OrcamentoDTO.InicioVigenciaValor = null;
            }
            else
            {
                OrcamentoDTO.InicioVigenciaValor = Convert.ToDateTime(txtInicioVigencia.Text);
            }

            if (txtFimVigencia.Text == "")
            {
                OrcamentoDTO.FimVigenciaValor = null;
            }
            else
            {
                OrcamentoDTO.FimVigenciaValor = Convert.ToDateTime(txtFimVigencia.Text);
            }
            

            OrcamentoDTO = objSGSServico.ConsultarOrcamento(OrcamentoDTO);


            GridOrcamentoDataSource = OrcamentoDTO.OrcamentoLista;

        }
        /// <summary>
        /// Consulta a tabela Orcamento e retorna resultados de acordo com o preenchimento do filtro
        /// </summary>
        public OrcamentoDTO ConsultarOrcamento(OrcamentoDTO objOrcamentoDTO)
        {
            OrcamentoDados objOrcamentoDados = new OrcamentoDados();
            objOrcamentoDTO.OrcamentoLista = objOrcamentoDados.Consultar(objOrcamentoDTO);

            return objOrcamentoDTO;

        }
 public FinanceiroRelatorioDTO()
 {
     OrcamentoDTO = new OrcamentoDTO();
 }
        public List<Orcamento> Consultar(OrcamentoDTO objOrcamentoDTO)
        {
            SqlCommand comando = new SqlCommand();
            comando.Connection = base.Conectar();

            SqlDataReader leitorDados;


            SqlParameter paramCodigoOrcamentoValor = new SqlParameter("@codigoOrcamentoValor", System.Data.DbType.Int32);
            if (objOrcamentoDTO.CodigoOrcamentoValor.HasValue)
                paramCodigoOrcamentoValor.Value = objOrcamentoDTO.CodigoOrcamentoValor.Value;
            else
                paramCodigoOrcamentoValor.Value = DBNull.Value;


            SqlParameter paramInicioVigenciaValor = new SqlParameter("@inicioVigenciaValor", System.Data.SqlDbType.DateTime);
            if (objOrcamentoDTO.InicioVigenciaValor.HasValue)
                paramInicioVigenciaValor.Value = objOrcamentoDTO.InicioVigenciaValor.Value;
            else
                paramInicioVigenciaValor.Value = DBNull.Value;

            SqlParameter paramFimVigenciaValor = new SqlParameter("@fimVigenciaValor", System.Data.SqlDbType.DateTime);
            if (objOrcamentoDTO.FimVigenciaValor.HasValue)
                paramFimVigenciaValor.Value = objOrcamentoDTO.FimVigenciaValor.Value;
            else
                paramFimVigenciaValor.Value = DBNull.Value;

            String sql = "select * from Orcamento";


            //Se o Nome do Plano, Inicio de Vigência e Fim de Vigência preenchidos
            if (objOrcamentoDTO.CodigoOrcamentoValor.HasValue && objOrcamentoDTO.InicioVigenciaValor.HasValue && objOrcamentoDTO.FimVigenciaValor.HasValue)
                sql += @" where CodigoOrcamento = @codigoOrcamentoValor and InicioVigencia >= @inicioVigenciaValor and FimVigencia <= @fimVigenciaValor";

            //Se apenas Nome do Plano e Inicio de Vigência preenchidos
            else if (objOrcamentoDTO.CodigoOrcamentoValor.HasValue && objOrcamentoDTO.InicioVigenciaValor.HasValue)
                sql += @" where CodigoOrcamento = @codigoOrcamentoValor and InicioVigencia >= @inicioVigenciaValor";

            //Se apenas Inicio de Vigência e Fim de Vigência preenchidos
            else if (objOrcamentoDTO.InicioVigenciaValor.HasValue && objOrcamentoDTO.FimVigenciaValor.HasValue)
                sql += @" where InicioVigencia >= @inicioVigenciaValor and FimVigencia <= @fimVigenciaValor";

            //Se apenas Fim de Vigência e Nome do Plano preenchidos
            else if (objOrcamentoDTO.FimVigenciaValor.HasValue && objOrcamentoDTO.CodigoOrcamentoValor.HasValue)
                sql += @" where FimVigencia <= @fimVigenciaValor and CodigoOrcamento = @codigoOrcamentoValor";

            //Se NomePlano preenchido
            else if (objOrcamentoDTO.CodigoOrcamentoValor.HasValue)
                sql += @" where CodigoOrcamento = @codigoOrcamentoValor";

            //Se apenas Inicio de Vigencia preenchido
            else if (objOrcamentoDTO.InicioVigenciaValor.HasValue)
                sql += @" where InicioVigencia >= @inicioVigenciaValor";

            //Se apenas Fim de Vigência preenchido
            else if (objOrcamentoDTO.FimVigenciaValor.HasValue)
                sql += @" where FimVigencia <= @fimVigenciaValor";

            sql += @" order by InicioVigencia asc, FimVigencia asc";

            comando.CommandText = sql;
            comando.CommandType = System.Data.CommandType.Text;
            comando.Parameters.Add(paramCodigoOrcamentoValor);
            comando.Parameters.Add(paramInicioVigenciaValor);
            comando.Parameters.Add(paramFimVigenciaValor);

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



            List<Orcamento> orcamentoLista = new List<Orcamento>();
            Orcamento objOrcamento;

            while (leitorDados.Read())
            {
                objOrcamento = new Orcamento();

                objOrcamento.CodigoOrcamento = Convert.ToInt32(leitorDados["CodigoOrcamento"]);
                //bjOrcamento.CodigoCasaLar = Convert.ToInt32(leitorDados["CodigoCasaLar"]);
                objOrcamento.NomePlano = leitorDados["NomePlano"].ToString();
                objOrcamento.StatusPlano = leitorDados["StatusPlano"].ToString();
                objOrcamento.ValorOrcamento = Convert.ToDecimal(leitorDados["ValorOrcamento"]);
                objOrcamento.InicioVigencia = Convert.ToDateTime(leitorDados["InicioVigencia"]);
                objOrcamento.FimVigencia = Convert.ToDateTime(leitorDados["FimVigencia"]);


                orcamentoLista.Add(objOrcamento);
            }

            return orcamentoLista;

        }
        /// <summary>
        /// Este método preenche os controles da tela de acordo com a operação que
        /// está sendo executado "cadastro" ou "edição".
        /// </summary>
        public void CarregarTela()
        {
            SGSServico objSGSServico = new SGSServico();
            SGSOrcamento = new OrcamentoDTO();
            SGSOrcamento.Orcamento = new Entidades.Orcamento();

            ddlCasaLar.DataSource = objSGSServico.ListarCasaLarOrcamento();
            ddlCasaLar.DataBind();

            ddlNaturezaDespesa.DataSource = objSGSServico.ListarNaturezaDespesa();
            ddlNaturezaDespesa.DataBind();
            ddlNaturezaDespesa.Items.Insert(0, new ListItem("Selecione", "Selecione"));

            if (Request.QueryString["tipo"] == "alt")
            {
                lblTitulo.Text = "Alterar Plano Orçamentário";
                lblDescricao.Text = "<b>Descrição:</b> Permite alterar o Plano Orçamentário da Casa Lar.";
                btnExcluir.Visible = true;

                SGSOrcamento.Orcamento.CodigoOrcamento = Convert.ToInt32(Request.QueryString["cod"]);

                //preenche a propriedade Plano Orcamentario
                SGSOrcamento.Orcamento = objSGSServico.ObterOrcamento(SGSOrcamento.Orcamento.CodigoOrcamento.Value);


                SGSOrcamento.OrcamentoNaturezaLista = objSGSServico.ListarOrcamentoNatureza(SGSOrcamento.Orcamento.CodigoOrcamento.Value);
                gridOrcamento.Visible = true;
                gridOrcamento.DataSource = SGSOrcamento.OrcamentoNaturezaLista;
                gridOrcamento.DataBind();

                if (SGSOrcamento != null)
                    this.PreencherDadosView();
                else
                    Server.Transfer("bla.aspx"); //transfere usuário para tela plano não encontrado
            }
            else
            {
                lblTitulo.Text = "Cadastrar Plano Orçamentário";
                lblDescricao.Text = "<b>Descrição:</b> Permite cadastrar o Plano Orçamentário da Casa Lar.";
                btnExcluir.Visible = false;

                gridOrcamento.Visible = false;
                btnIncluir.Visible = false;
                btnRemover.Visible = false;
                ddlNaturezaDespesa.Visible = false;
                txtValorDespesa.Visible = false;
                pnlItemOrcamento.Visible = false;
                pnlHR.Visible = false;
                pnlGrid.Visible = false;
                lblItemOrcamento.Visible = false;
                lblNaturezaDespesa.Visible = false;
                lblValorDespesa.Visible = false;
                validatorValorOrcado.Enabled = false;
                validatorValorOrcado.Visible = false;
                lblVisualizarItem.Visible = false;
            }
        }