コード例 #1
0
        /// <summary>
        /// Atualiza uma ContaCaixa no Banco de Dados
        /// </summary>
        /// <param name="contaCaixa">Obj ContaCaixa</param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Atualizar(ContaCaixa contaCaixa)
        {
            var bd = new Persistencia();
            try
            {
                bd.Cmd.CommandText =
                    @"UPDATE contasCaixa SET descricao = @descricao, banco_id = @banco, agencia = @agencia, cc = @cc WHERE id = @id";

                bd.Cmd.Parameters.AddWithValue("@id", contaCaixa.Id);
                bd.Cmd.Parameters.AddWithValue("@descricao", contaCaixa.Descricao);
                bd.Cmd.Parameters.AddWithValue("@banco", contaCaixa.Banco.Id == 0 ? (object)DBNull.Value : contaCaixa.Banco.Id);
                bd.Cmd.Parameters.AddWithValue("@agencia", contaCaixa.Agencia == "" ? (object)DBNull.Value : contaCaixa.Agencia);
                bd.Cmd.Parameters.AddWithValue("@cc", contaCaixa.ContaNum == "" ? (object)DBNull.Value : contaCaixa.ContaNum);

                if (!(bd.ExecuteNonQuery() > 0))
                {
                    return false;
                }
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
コード例 #2
0
ファイル: Cheque.cs プロジェクト: MoraesGil/TERMO-4-2014
 public Cheque(bool credito, decimal valor, ContaCaixa contaCaixa, string numero, string emitente, DateTime emissao, string ag, string cc, Banco banco)
     : base(credito,valor,contaCaixa)
 {
     _numero = numero;
     _emitente = emitente;
     _emissao = emissao;
     _ag = ag;
     _cc = cc;
     _banco = banco;
 }
コード例 #3
0
 /// <summary>
 /// Atualiza o saldo da conta de caixa
 /// </summary>
 /// <param name="contaCaixa">conta a ser atualiza com saldo atualizado</param>
 /// <param name="bd">conexao com banco</param>
 /// <returns>verdadeiro se tudo ok</returns>
 public bool AtualizarSaldo(ContaCaixa contaCaixa, Persistencia bd)
 {
     bd.Cmd.Parameters.Clear();
     try
     {
         bd.Cmd.CommandText = @"update contasCaixa set saldo = @saldo where id = @caixaid";
         bd.Cmd.Parameters.AddWithValue("@caixaid", contaCaixa.Id);
         bd.Cmd.Parameters.AddWithValue("@saldo", contaCaixa.Saldo);
     }
     catch (Exception)
     {
         return false;
     }
     return true;
 }
コード例 #4
0
        /// <summary>
        /// Grava uma Conta de Caixa inserindo ou atualizando 14/04/2014
        /// </summary>
        /// <param name="conta">objeto conta de caixa</param>
        /// <param name="notificacoes">mensagens de retorno </param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Gravar(ContaCaixa conta, out List<Notificacao> notificacoes)
        {
            bool cadastro = conta.Id == 0;//para informar se

            notificacoes = ValidaCampos(conta);

            if (notificacoes.Count > 0)//este ponto identifica erros de validacao
                return false;

            if (!(cadastro ? new ContaCaixaBD().Inserir(conta) : new ContaCaixaBD().Atualizar(conta)))
            {
                notificacoes.Add(new Notificacao("Erro de banco de dados, notifique o administrador", 'e'));
                return false;
            }

            notificacoes.Add(cadastro
                                 ? new Notificacao("Conta Caixa cadastrada com Sucesso", 's')
                                 : new Notificacao("Conta Caixa atualizada com Sucesso", 's'));
            return true;
        }
コード例 #5
0
        /// <summary>
        /// Exclui uma Conta de Caixa do banco de dados
        /// </summary>
        /// <param name="conta">Objeto conta de caixa</param>
        /// <param name="notificacao">Informativo sobre a operacao </param>
        /// <returns>verdadeiro em caso de exclusao com sucesso</returns>
        public bool Excluir(ContaCaixa conta, out Notificacao notificacao)
        {
            if (conta.Id <= 0)
            {
                notificacao = new Notificacao("Não foi possivel identificar o codigo do contato a ser excluido", 'e');
                return false;
            }

            if(conta.Saldo !=0)
            {
                notificacao = new Notificacao("A conta não pode ser excluida, o saldo deve ser igual a Zero para realizar esta operação", 'e');
                return false;
            }

            if (new ContaCaixaBD().Excluir(conta))
            {
                notificacao = new Notificacao("Conta de Caixa excluida com sucesso", 's');
                return true;
            }
            notificacao = new Notificacao("Não foi possivel excluir a Conta de Caixa informada, tente novamente, se o erro persistir contate o adminsitrador", 'e');
            return false;
        }
コード例 #6
0
 //usado para lançar movimentacao necessario somente Id da contaCaixa;
 public MovimentoCaixa(bool credito, decimal valor, ContaCaixa contaCaixa)
 {
     _credito = credito;
     _valor = valor;
     _contaCaixa = contaCaixa;
 }
コード例 #7
0
ファイル: caixa.aspx.cs プロジェクト: MoraesGil/TERMO-5-2014
        /// <summary>
        /// Lista as movimentações de caixa no periodo selecionado !
        /// </summary>
        private bool ListarMovimentosCaixa()
        {
            Notificacao notificacao;
            bool listou;
            DateTime dti;
            DateTime dtf;

            DateTime.TryParse(dtInicial.Value, out dti);
            DateTime.TryParse(dtFinal.Value, out dtf);
            //informa a data inicial e final para filtrar as movimentações

            var conta = new ContaCaixa(Convert.ToInt32(contaId.Value), dti, dtf);

            if (new MovimentoCaixaCtrl().RecuperarMovimentacoes(conta, out notificacao))
            {
                listou = true;
                #region Caso Recupere os movimentos da conta
                if (!ContaView.Visible)
                {
                    lblContaDescricao.Text = "Conta: " + conta.Descricao;
                    lblAgNumero.Text = conta.Agencia.Length > 0 ? "AG: " + conta.Agencia : "AG: N/A";
                    lblContaNumero.Text = conta.ContaNum.Length > 0 ? "C/C: " + conta.ContaNum : "C/C: N/A";
                    lblBancoConta.Text = conta.Banco.Descricao.Length > 0 ? "Banco: " + conta.Banco.Descricao : "Banco: N/A";
                    ContaView.Visible = true;
                    ContaSelect.Visible = false;
                    TextoPeriodoFiltro();
                }

                lblSaldoConta.Text = "Saldo Atual: " + conta.Saldo;

                if (conta.Movimentacoes.Count == 0)
                    notificacoes.Add(notificacao);

                //só gera relatório se houver lançamentos para imprimir =)
                btnRelatorio.Visible = conta.Movimentacoes.Count > 0;

                if (conta.Movimentacoes.Count > 0)
                {
                    decimal tcredito = 0;//total de creditos no periodo
                    decimal tdebido = 0;//total de debitos no periodo

                    foreach (MovimentoCaixa mov in conta.Movimentacoes)
                    {
                        if (mov.Credito)
                        {
                            tcredito += mov.Valor;
                        }
                        else
                        {
                            tdebido += mov.Valor;
                        }
                    }
                    totalCredito.Value = tcredito.ToString();
                    totalDebito.Value = "-" + tdebido.ToString();

                }

                rpLancamentos.Visible = conta.Movimentacoes.Count > 0;
                rpLancamentos.DataSource = conta.Movimentacoes;
                rpLancamentos.DataBind();
                #endregion
            }
            else
            {
                listou = false;
                notificacoes.Add(notificacao);
            }
            ListarNotificacoes();
            return listou;
        }
コード例 #8
0
        /// <summary>
        /// Recupera uma ContaCaixa no Banco de Dados
        /// </summary>
        /// <param name="contaCaixa">Obj categoria com Descricao</param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Recuperar(ContaCaixa contaCaixa)
        {
            var bd = new Persistencia();

            try
            {
                bd.Cmd.CommandText = @"select descricao, data, saldo, banco_id, agencia, cc from contasCaixa where id = @id";
                bd.Cmd.Parameters.AddWithValue("@id", contaCaixa.Id);

                DataTable dadosBd = bd.ExecuteReader();
                contaCaixa.Descricao = dadosBd.Rows[0]["descricao"].ToString();
                DateTime dataCriacao;
                DateTime.TryParse(dadosBd.Rows[0]["data"].ToString(), out dataCriacao);
                contaCaixa.DataCriacao = dataCriacao;
                contaCaixa.Agencia = dadosBd.Rows[0]["agencia"].ToString();
                contaCaixa.ContaNum = dadosBd.Rows[0]["cc"].ToString();

                contaCaixa.Saldo = Convert.ToDecimal(dadosBd.Rows[0]["saldo"].ToString());

                if (dadosBd.Rows[0]["banco_id"].ToString() != "")
                {
                    var banco = new Banco(Convert.ToInt32(dadosBd.Rows[0]["banco_id"]));
                    contaCaixa.Banco = banco;
                }
            }
            catch
            {
                return false;
            }
            return true;
        }
コード例 #9
0
        /// <summary>
        /// Insere uma ContaCaixa no Banco de dados
        /// </summary>
        /// <param name="contaCaixa">Obj ContaCaixa</param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Inserir(ContaCaixa contaCaixa)
        {
            var bd = new Persistencia();
            try
            {
                bd.Cmd.CommandText =
                    @"INSERT INTO `contasCaixa` (`descricao`, `data`, `banco_id`, `agencia`, `cc`)
                    VALUES (@descricao, @data, @banco, @agencia, @cc); SELECT LAST_INSERT_ID()";

                bd.Cmd.Parameters.AddWithValue("@descricao", contaCaixa.Descricao);
                bd.Cmd.Parameters.AddWithValue("@data", DateTime.Now);//data de abertura
                bd.Cmd.Parameters.AddWithValue("@banco", contaCaixa.Banco.Id == 0 ? (object)DBNull.Value : contaCaixa.Banco.Id);
                bd.Cmd.Parameters.AddWithValue("@agencia", contaCaixa.Agencia == "" ? (object)DBNull.Value : contaCaixa.Agencia);
                bd.Cmd.Parameters.AddWithValue("@cc", contaCaixa.ContaNum == "" ? (object)DBNull.Value : contaCaixa.ContaNum);
                contaCaixa.Id = Convert.ToInt32(bd.ExecuteScalar());

            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
コード例 #10
0
        /// <summary>
        /// Exclui fisica/logicamente uma ContaCaixa no Banco de Dados
        /// </summary>
        /// <param name="contaCaixa">Obj ContaCaixa</param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Excluir(ContaCaixa contaCaixa)
        {
            var bd = new Persistencia();
            try
            {

                bd.Cmd.CommandText = @"delete from contasCaixa where id = @id";
                bd.Cmd.Parameters.AddWithValue("@id", contaCaixa.Id);
                bd.ExecuteNonQuery();

            }
            catch (Exception)
            {   //se nao excluir faz exclusao logica
                try
                {
                    bd.Cmd.Parameters.Clear();
                    bd.Cmd.CommandText = @"UPDATE contasCaixa SET excluida = @value WHERE id = @id";
                    bd.Cmd.Parameters.AddWithValue("@value", 1);
                    bd.ExecuteNonQuery();
                }
                catch (Exception)
                {
                    return false;
                }
            }
            //se excluiu ou desativou =sucesso
            return true;
        }
コード例 #11
0
        /// <summary>
        /// Recupera lista de movimentações da conta no banco de dados!
        /// </summary>
        /// <param name="contaCaixa">Conta de Caixa </param>
        /// <param name="notificacao">mensagem de erro ou sucesso</param>
        /// <returns></returns>
        public bool RecuperarMovimentacoes(ContaCaixa contaCaixa, out Notificacao notificacao)
        {
            if (contaCaixa.DataInicial > contaCaixa.DataFinal || contaCaixa.DataInicial.ToShortDateString() == "01/01/0001" || contaCaixa.DataFinal.ToShortDateString() == "01/01/0001")
            {
                notificacao = new Notificacao("<p>Periodo informado é invalido!<p/> <p>Certifique-se que as datas estão corretas, a data inicial não pode ser maior que a data final<p/>", 'e');
                return false;
            }

            if (!new ContaCaixaCtrl().Recuperar(contaCaixa, out  notificacao))
            {
                return false;
            }

            if (!new MovimentoCaixaBD().RecuperarMovimentos(contaCaixa))
            {
                notificacao = new Notificacao("Não foi possivel recuperar as movimentações<br/>Problema com Banco de Dados, notifique o administrador", 'e');
                return false;
            }

            notificacao = contaCaixa.Movimentacoes.Count <= 0 ? new Notificacao("Não há lançamentos no periodo informado.", 'i') : new Notificacao("Lançamentos recuperados com Sucesso", 'e');
            return true;
        }
コード例 #12
0
ファイル: contas.aspx.cs プロジェクト: MoraesGil/TERMO-4-2014
        protected void BtnOpcoes(object sender, CommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "gravar"://ok 14/04
                    {
                        var conta = new ContaCaixa(Convert.ToInt32(contaId.Value), ttbDescricao.Text, ttbAgencia.Text, ttbConta.Text, new Banco(Convert.ToInt32(bancoId.Value), ttbBanco.Text));

                        bool gravou = new ContaCaixaCtrl().Gravar(conta, out notificacoes);

                        if (gravou)
                        {
                            LimparCampos();
                            ListarContas();
                        }
                        else
                        {//só lista notificacoes sem atualizar o repeater
                            ((Sistema)Master).ExibirNotificacoes(notificacoes);
                        }

                    } break;
                case "cancelar"://ok 14/04
                    {
                        LimparCampos();
                        ListarContas();
                    } break;
                case "remover"://ok 14/04
                    {
                        Notificacao notificacao;
                        var conta = new ContaCaixa(Convert.ToInt32(contaId.Value));

                        if (!new ContaCaixaCtrl().Recuperar(conta, out notificacao))
                        {
                            notificacoes.Add(new Notificacao("Não foi possivel identificar o saldo da conta, tente novamente, se o erro persistir, informe o administrador do sistema", 'e'));
                            ((Sistema)Master).ExibirNotificacoes(notificacoes);
                        }
                        else
                        {
                            bool excluiu = new ContaCaixaCtrl().Excluir(conta, out notificacao);
                            notificacoes.Add(notificacao);

                            if (excluiu)
                            {
                                LimparCampos();//zera id e limpa caso o amado usuário tenha solicitado edicao antes de excluir a categoria...
                                ListarContas();
                            }
                            else
                                ((Sistema)Master).ExibirNotificacoes(notificacoes);
                        }

                    } break;
                case "editar"://ok 14/04
                    {
                        Notificacao notificacao;
                        var conta = new ContaCaixa(Convert.ToInt32(e.CommandArgument));

                        if (new ContaCaixaCtrl().Recuperar(conta, out notificacao))
                        {
                            btnCancelar.Visible = true;
                            contaId.Value = conta.Id.ToString();//salva a id em edicao
                            ttbDescricao.Text = conta.Descricao;
                            ttbAgencia.Text = conta.Agencia;
                            ttbConta.Text = conta.ContaNum;
                            bancoId.Value = conta.Banco.Id.ToString();
                            ttbBanco.Text = conta.Banco.Descricao;
                        }
                        else
                        {//informa o erro
                            notificacoes.Add(notificacao);
                        }
                        ListarContas();

                    } break;
            }
        }
コード例 #13
0
 //usado para estornar movimentacao necessario somente Id da contaCaixa id do movimento e justificativa do estorno;
 public MovimentoCaixa(int id, ContaCaixa contaCaixa, string estorno)
 {
     _id = id;
     _contaCaixa = contaCaixa;
     _estorno = estorno;
 }
コード例 #14
0
        /// <summary>
        /// Recupera do banco de dados as movimentacoes de uma conta de caixa em um determinado periodo
        /// </summary>
        /// <param name="contaCaixa">Conta de Caixa</param>
        /// <returns></returns>
        public bool RecuperarMovimentos(ContaCaixa contaCaixa)
        {
            _bd = new Persistencia();
            contaCaixa.Movimentacoes = new List<MovimentoCaixa>();//limpa lista
            try
            {
                _bd.Cmd.CommandText = @"select mc.id, mc.credito, mc.data, mc.valor, mc.quitacao_id, mc.estorno,
                ((select coalesce(sum(cr.valor),0) from movimentosCaixa cr where (cr.data<=mc.data AND cr.credito = 1 and cr.caixa_id = mc.caixa_id))
                - (select coalesce(sum(de.valor),0) from movimentosCaixa de where (de.data<=mc.data AND de.credito = 0 and de.caixa_id = mc.caixa_id))) as saldo
                from movimentosCaixa mc where mc.data between @dataI AND @dataF and mc.caixa_id = @caixa_id
                ORDER BY mc.data asc ";

                _bd.Cmd.Parameters.AddWithValue("@caixa_id", contaCaixa.Id);
                _bd.Cmd.Parameters.AddWithValue("@dataI", contaCaixa.DataInicial);
                _bd.Cmd.Parameters.AddWithValue("@dataF", contaCaixa.DataFinal);

                DataTable listaMovimentos = _bd.ExecuteReader();

                foreach (DataRow movimento in listaMovimentos.Rows)
                {
                    var mov = new MovimentoCaixa(
                        Convert.ToInt32(movimento["id"].ToString()),
                        Convert.ToBoolean(movimento["credito"].ToString()),
                        Convert.ToDateTime(movimento["data"].ToString()),
                        Convert.ToDecimal(movimento["valor"].ToString()),
                        movimento["estorno"].ToString(),                    //justificativa do estorno!
                        new Quitacao(string.IsNullOrEmpty(movimento["quitacao_id"].ToString())? 0 : Convert.ToInt32(movimento["quitacao_id"])),//se nao tiver vinculo informa zero "0"
                        Convert.ToDecimal(movimento["saldo"].ToString())
                        );
                    contaCaixa.Movimentacoes.Add(mov);
                }

            }
            catch (Exception)
            {
                contaCaixa.Movimentacoes = new List<MovimentoCaixa>();//limpa lista
                return false;
            }
            return true;
        }
コード例 #15
0
 /// <summary>
 /// Checa se a descrição ja existe evitando duplicidade de conta!
 /// </summary>
 /// <param name="conta">conta a ser gravada!</param>
 /// <returns></returns>
 private bool CausaDuplicidade(ContaCaixa conta)
 {
     var lista = BuscaDescricao(conta.Descricao);
     if (lista.Count > 0)
         if (lista[0].Descricao == conta.Descricao && lista[0].Id != conta.Id)//causa duplicidade
             return true;
         //se a id for a mesma significa que é update, ou seja a descricao será igual e pode ser aceita,
         //agora se a id for diferente e a descrição for igual deve se considerar duplicado!
     return false;
 }
コード例 #16
0
        /// <summary>
        /// traz uma lista de erros das validacoes do campos informados 14/04/2014
        /// </summary>
        /// <param name="conta">Obj conta Caixa</param>
        /// <returns>Lista de Erros</returns>
        public List<Notificacao> ValidaCampos(ContaCaixa conta)
        {
            var list = new List<Notificacao>();

            if (conta.Descricao.Length < 3)
                list.Add(new Notificacao("A descrição deve conter pelo menos 3 caracteres", 'e'));

            if (CausaDuplicidade(conta))
                list.Add(new Notificacao("A descrição informada já existe, por favor escolha uma diferete", 'e'));

            if (conta.Banco.Descricao.Length > 0)
                if (conta.Banco.Id <= 0 || conta.Banco.Id > 103)
                    list.Add(new Notificacao("Banco informado é inválido, selecione na lista se necessário! caso ela não apareça notifique o Administrador", 'e'));

            return list;
        }
コード例 #17
0
        /// <summary>
        /// recupera um Conta de Caixa do banco de dados 14/04/2014
        /// </summary>
        /// <param name="conta">objeto conta de caixa com id desejada</param>
        /// <param name="notificacao"> </param>
        /// <returns>Dados do contato do banco de dados</returns>
        public bool Recuperar(ContaCaixa conta, out Notificacao notificacao)
        {
            if (conta.Id <= 0)
            {
                notificacao = new Notificacao("Conta informada é inválida", 'e');
                return false;
            }

            if (!new ContaCaixaBD().Recuperar(conta))
            {
                notificacao = new Notificacao("Problema com Banco de Dados, notifique o administrador", 'e');
                return false;
            }

            if (conta.Banco != null)
                new BancoCtrl().Recuperar(conta.Banco, out notificacao);//recupera o banco
            else
            {
                conta.Banco = new Banco(0, "");
            }
            notificacao = new Notificacao("Conta de Caixa recuperada com sucesso", 's');
            return true;
        }
コード例 #18
0
ファイル: caixa.aspx.cs プロジェクト: MoraesGil/TERMO-5-2014
        //Opcoes de Lancamento
        protected void BtnOpcoes(object sender, CommandEventArgs e)
        {
            switch (e.CommandName)
            {
                //--Acoes Filtro Periodo
                case "filtrarMes":
                    {
                        #region Filtro Mes
                        DateTime dtI = Convert.ToDateTime(dtInicial.Value);
                        DateTime dtF = Convert.ToDateTime(dtFinal.Value);

                        switch (e.CommandArgument.ToString())
                        {
                            case "periodo":
                                {
                                    string aux;//salva copia da data anterior ao filtro selecionado!
                                    aux = dtInicial.Value;
                                    dtInicial.Value = ttbDtInicio.Text;
                                    ttbDtInicio.Text = aux;

                                    aux = dtFinal.Value;
                                    dtFinal.Value = ttbDtFim.Text;
                                    ttbDtFim.Text = aux;

                                    if (!ListarMovimentosCaixa())//ouve erro volta periodo que estava setado anteriormente
                                    {
                                        dtInicial.Value = ttbDtInicio.Text;
                                        dtFinal.Value = ttbDtFim.Text;
                                    }
                                    ttbDtInicio.Text = "";
                                    ttbDtFim.Text = "";
                                }
                                break;
                            case "esteMes":
                                {
                                    FiltroMesAtual();
                                }
                                break;
                            default:
                                {
                                    //incrementa ou decrementa um mes no filtro de data atual
                                    int mesAdd = e.CommandArgument.ToString() == "add" ? +1 : -1;

                                    dtInicial.Value = dtI.AddMonths(mesAdd).ToString();

                                    //se se o periodo cobrir o mes fechado pula para o proximo mes correte, senão só acrescenta um mes ao filtro corrente!
                                    if (dtI.Day == 1)
                                    {
                                        if (dtF.Day == DateTime.DaysInMonth(dtF.Year, dtF.Month))
                                        {
                                            dtF = dtF.AddMonths(mesAdd);//acrescenta um mes na data final atual!
                                            dtF = new DateTime(dtF.Year, dtF.Month, DateTime.DaysInMonth(dtF.Year, dtF.Month));//ultimo dia do mes setado
                                        }
                                    }
                                    else
                                    {
                                        dtF = dtF.AddMonths(mesAdd);//somente acrescenta um mes na data final atual!
                                    }

                                    dtFinal.Value = dtF.ToString();
                                }
                                break;
                        }

                        TextoPeriodoFiltro();
                        ListarMovimentosCaixa();
                        #endregion
                    }
                    break;
                //--acoes lançamento
                case "lancar":
                    {
                        #region Efetuar Lançamento
                        Notificacao notificacao;

                        decimal valor;
                        DateTime dtEmissao;
                        decimal.TryParse(ttbValor.Text, out valor);
                        DateTime.TryParse(ttbChData.Text, out dtEmissao);

                        var movimento = new MovimentoCaixa(rblTipoMov.SelectedValue == "c",
                                                           valor, new ContaCaixa(Convert.ToInt32(contaId.Value)));

                        if (new MovimentoCaixaCtrl().Lancar(movimento, out notificacao))
                        {
                            rblTipoMov.SelectedIndex = 0;
                            ttbValor.Text = "";//limpa
                            notificacoes.Add(notificacao);
                            ListarMovimentosCaixa();
                        }
                        else
                        {
                            notificacoes.Add(notificacao);
                            ListarNotificacoes();
                        }
                        #endregion
                    }
                    break;
                case "estornar":
                    {
                        Notificacao notificacao;
                        if (e.CommandArgument != "")//ou seja é a confirmação!
                        {
                            var movimento = new MovimentoCaixa(Convert.ToInt32(movimentoId.Value),
                                                               new ContaCaixa(Convert.ToInt32(contaId.Value)),
                                                               ttbJustificativa.Text);

                            if (new MovimentoCaixaCtrl().Estornar(movimento, out notificacao))
                            {
                                notificacoes.Add(notificacao);
                                ListarMovimentosCaixa();
                            }
                            else
                            {
                                notificacoes.Add(notificacao);
                                ListarNotificacoes();
                            }

                        }
                        else
                        {
                            ListarNotificacoes();//limpa notificaçoes
                        }
                        ttbJustificativa.Text = "";
                        movimentoId.Value = "0";
                    }
                    break;
                //-- mudar conta
                case "trocarConta":
                    {
                        ContaView.Visible = false;
                        ContaSelect.Visible = true;
                        ttbConta.Text = "";
                        contaId.Value = "0";
                        ListarNotificacoes();
                        ttbValor.Text = "";
                        FiltroMesAtual();
                    }
                    break;
                case "relatorio":
                    {
                        DateTime dti;
                        DateTime dtf;

                        DateTime.TryParse(dtInicial.Value, out dti);
                        DateTime.TryParse(dtFinal.Value, out dtf);
                        //informa a data inicial e final para filtrar as movimentações

                        var conta = new ContaCaixa(Convert.ToInt32(contaId.Value), dti, dtf);

                        Session["fluxocaixa"] = conta;
                        Response.Redirect("/View/financeiro/relatorios/fluxodecaixa.aspx");

                    }
                    break;
            }
        }