public void ExcluirMovimento(int idMov, int tipo, decimal valor, int idConta)
        {
            banco2 objBanco = new banco2();

            tb_movimento objmovExcluir = objBanco.tb_movimento.FirstOrDefault(mov => mov.id_movimento == idMov);

            using (TransactionScope tran = new TransactionScope())
            {
                objBanco.DeleteObject(objmovExcluir);

                objBanco.SaveChanges();

                tb_conta objContaAtualizar = objBanco.tb_conta.FirstOrDefault(con => con.id_conta == idConta);

                if (tipo == 0)
                {
                    objContaAtualizar.saldo_conta -= valor;
                }
                else
                {
                    objContaAtualizar.saldo_conta += valor;
                }
                objBanco.SaveChanges();

                tran.Complete();
            }
        }
        //============================================================================
        public void ExcluirCategoria(int codCategoria)
        {
            banco2 objBanco = new banco2();

            tb_categoria objResgate = objBanco.tb_categoria.Where(cat => cat.id_categoria == codCategoria).FirstOrDefault();

            objBanco.DeleteObject(objResgate);

            objBanco.SaveChanges();
        }
        //=========================================================================
        public void ExcluirConta(int codConta)
        {
            banco2 objBanco = new banco2();

            tb_conta objResgate = objBanco.tb_conta.Where(cont => cont.id_conta == codConta).FirstOrDefault();

            objBanco.DeleteObject(objResgate);

            objBanco.SaveChanges();
        }
        //============================================================================
        public void InserirCategoria(tb_categoria objCategoria)
        {
            // Cria o obj que representa o BD
            banco2 objbanco = new banco2();

            // No meu obj banco add an tb categoria o obj do parametro de entrada
            objbanco.AddTotb_categoria(objCategoria);


            // Salava no BD
            objbanco.SaveChanges();
        }
        //============================================================================
        public void InserirConta(tb_conta objConta)
        {
            //Cria  o obejeto do banco

            banco2 objbanco = new banco2();

            //adiciona na tb conta o obj do parametro de entrada
            objbanco.AddTotb_conta(objConta);

            //salva no banco
            objbanco.SaveChanges();
        }
        public void LancarMovimento(tb_movimento objMov)

        {
            banco2 objBanco = new banco2();

            objBanco.AddTotb_movimento(objMov);

            if (objMov.id_conta == null)
            {
            }
            else
            {
                using (TransactionScope t = new TransactionScope())
                {
                    //insere na tb_movimento
                    objBanco.SaveChanges();

                    tb_conta objConta = objBanco.tb_conta.FirstOrDefault(cont => cont.id_conta == objMov.id_conta);

                    //identificar se vai remover ou adicionar dinheiro verificando a combo de tipo

                    if (objMov.tipo_movimento == 0)//entrada
                    {
                        objConta.saldo_conta += objMov.valor_movimento;
                    }
                    else//saida
                    {
                        objConta.saldo_conta -= objMov.valor_movimento;
                    }

                    //altera na tb_conta
                    objBanco.SaveChanges();

                    //confirmação da Transactrion
                    t.Complete();
                }
            }
        }
        //=========================================================================
        //public List<MovimentoVO>PesquisarMovimentoConta(int codUser, DateTime dataInicial, DateTime dataFinal, )

        //=========================================================

        public void AlterarConta(tb_conta ObjContaAtualizada)
        {
            banco2 objBanco = new banco2();

            tb_conta objResgate = objBanco.tb_conta.Where(cont => cont.id_conta == ObjContaAtualizada.id_conta).FirstOrDefault();

            objResgate.nome_banco    = ObjContaAtualizada.nome_banco;
            objResgate.agencia_conta = ObjContaAtualizada.agencia_conta;
            objResgate.numero_conta  = ObjContaAtualizada.numero_conta;
            objResgate.saldo_conta   = ObjContaAtualizada.saldo_conta;
            objResgate.tipo_conta    = ObjContaAtualizada.tipo_conta;

            objBanco.SaveChanges();
        }
        //============================================================================
        public void AlterarCategoria(tb_categoria objCategoriaAtualizada)
        {
            //1º passo
            //conexão com o banco
            banco2 objBanco2 = new banco2();

            //resgata o registro antigo
            tb_categoria ObjResgate = objBanco2.tb_categoria.Where(cat => cat.id_categoria == objCategoriaAtualizada.id_categoria).FirstOrDefault();

            //2º passo
            //atualiza as informações
            ObjResgate.nome_categoria = objCategoriaAtualizada.nome_categoria;

            // Salva a alteração
            objBanco2.SaveChanges();
        }