Пример #1
0
        private void ConfirmarRota()
        {
            bool sucesso;

            try
            {
                RotaDAO          rotaDao           = new RotaDAO();
                MovimentoDAO     movimentoDao      = new MovimentoDAO();
                MovimentoRotaDAO movimentoRotaDao  = new MovimentoRotaDAO();
                Rota             novaRota          = instanciarRota();
                MovimentoRota    novoMovimentoRota = new MovimentoRota();
                Movimento        novoMovimento     = new Movimento();

                using (TransactionScope scope = new TransactionScope())
                {
                    try
                    {
                        rotaDao.Add(novaRota);
                        rotaDao.SaveChanges();

                        //instancia o movimento
                        novoMovimento.COD_TIPO_MOVIMENTO = 1;
                        novoMovimento.MOMENTO            = novaRota.DATA_INICIO;
                        novoMovimento.VALOR = novaRota.FUNDO;
                        //salva o movimento
                        movimentoDao.Add(novoMovimento);
                        movimentoDao.SaveChanges();


                        //instancia movimento_rota
                        novoMovimentoRota.COD_MOVIMENTO = novoMovimento.COD_MOVIMENTO;
                        novoMovimentoRota.COD_ROTA      = novaRota.COD_ROTA;
                        //salva movimento_rota
                        movimentoRotaDao.Add(novoMovimentoRota);
                        movimentoRotaDao.SaveChanges();
                        sucesso = true;
                    }
                    catch
                    {
                        sucesso = false;
                        throw new Exception("Erro ao criar rota.");
                    }

                    if (sucesso)
                    {
                        scope.Complete();
                    }
                }
            }
            catch
            {
                throw new Exception("Erro ao criar rota.");
            }
        }
Пример #2
0
        public void RegistrarMovimento(decimal valor, int codTipoMovimento)
        {
            bool             sucesso;
            Movimento        movimento        = new Movimento();
            MovimentoRota    movimentoRota    = new MovimentoRota();
            MovimentoDAO     movimentoDao     = new MovimentoDAO();
            MovimentoRotaDAO movimentoRotaDao = new MovimentoRotaDAO();

            using (TransactionScope scope = new TransactionScope())
            {
                try
                {
                    movimento.COD_TIPO_MOVIMENTO = codTipoMovimento;
                    movimento.MOMENTO            = DateTime.Now;
                    movimento.VALOR = valor;
                    movimentoDao.Add(movimento);
                    movimentoDao.SaveChanges();

                    movimentoRota.COD_MOVIMENTO = movimento.COD_MOVIMENTO;
                    movimentoRota.COD_ROTA      = _rota.COD_ROTA;
                    movimentoRotaDao.Add(movimentoRota);
                    movimentoRotaDao.SaveChanges();

                    sucesso = true;
                }
                catch
                {
                    sucesso = false;
                    throw new EntityException("Erro.");
                }

                if (sucesso)
                {
                    scope.Complete();
                }
            }
        }
Пример #3
0
        public void BaixarBoleto()
        {
            bool sucesso  = false;
            int  cod_rota = 0;

            if (!this._boleto.COD_SITUACAO_BOLETO.Equals(2))
            {
                BoletoDAO        _boletoDAO    = new BoletoDAO();
                Movimento        movimento     = new Movimento();
                MovimentoDAO     movimentoDAO  = new MovimentoDAO();
                MovimentoRotaDAO mRotaDAO      = new MovimentoRotaDAO();
                MovimentoRota    movimentoRota = new MovimentoRota();

                using (TransactionScope scope = new TransactionScope())
                {
                    try
                    {
                        cod_rota = new VendedorBO(_boleto.CONTRATO_FK.ROTA_FK.VENDEDOR_FK).buscarRotaAberta().COD_ROTA;


                        Boleto _boletoNovo = _boletoDAO.Find(b => b.COD_BOLETO == _boleto.COD_BOLETO).First <Boleto>();
                        _boletoNovo.COD_SITUACAO_BOLETO = 2;
                        _boletoNovo.DATA_PAGAMENTO      = DateTime.Now;
                        _boletoDAO.SaveChanges();

                        movimento.COD_TIPO_MOVIMENTO = 3;
                        movimento.MOMENTO            = _boletoNovo.DATA_PAGAMENTO;
                        movimento.VALOR = _boletoNovo.VALOR;

                        movimentoDAO.Add(movimento);
                        movimentoDAO.SaveChanges();

                        movimentoRota.COD_MOVIMENTO = movimento.COD_MOVIMENTO;
                        movimentoRota.COD_ROTA      = cod_rota;

                        mRotaDAO.Add(movimentoRota);
                        mRotaDAO.SaveChanges();
                        sucesso = true;
                    }
                    catch
                    {
                        if (cod_rota == 0)
                        {
                            throw new Exception("Não há rota aberta para o vendedor: " + _boleto.CONTRATO_FK.ROTA_FK.VENDEDOR_FK.NOME);
                        }
                        else
                        {
                            throw new Exception("Não há rota aberta para o vendedor: " + _boleto.CONTRATO_FK.ROTA_FK.VENDEDOR_FK.NOME);
                        }
                    }

                    if (sucesso)
                    {
                        scope.Complete();
                    }
                }
            }
            else
            {
                throw new Exception("Este boleto não pode ser baixado.");
            }
        }