示例#1
0
        public DataTable pegarBoletosAbertos()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("cod_boleto");
            dt.Columns.Add("area");
            dt.Columns.Add("vendedor");
            dt.Columns.Add("nome");
            dt.Columns.Add("num_parcela");
            dt.Columns.Add("total_parcela");
            dt.Columns.Add("vencimento");
            dt.Columns.Add("valor");
            dt.Columns.Add("data_pagamento");


            List <Boleto> arr = new List <Boleto>();

            BoletoDAO bDAO = new BoletoDAO();

            arr = bDAO.Find(b => b.COD_CONTRATO == _Contrato.COD_CONTRATO && b.COD_SITUACAO_BOLETO == 1);
            for (int i = 0; i < arr.Count; i++)
            {
                DataRow row = dt.NewRow();
                row["cod_boleto"]     = arr[i].COD_BOLETO.ToString().PadLeft(7, '0');
                row["area"]           = _Contrato.CONTRATANTE_FK.AREA_FK.NOME.ToString();
                row["vendedor"]       = _Contrato.ROTA_FK.VENDEDOR_FK.NOME.ToString();
                row["nome"]           = _Contrato.CONTRATANTE_FK.COD_CONTRATANTE.ToString().PadLeft(4, '0') + " - " + _Contrato.CONTRATANTE_FK.NOME.ToString();
                row["num_parcela"]    = arr[i].PARCELA.ToString().PadLeft(3, '0');
                row["total_parcela"]  = _Contrato.PERIODO.ToString().PadLeft(3, '0');
                row["vencimento"]     = string.Format("{0:dd/MM/yyyy}", arr[i].DATA_VENCIMENTO.ToShortDateString());
                row["valor"]          = "R$ " + arr[i].VALOR.ToString();
                row["data_pagamento"] = arr[i].DATA_PAGAMENTO.ToString() == DateTime.MinValue.ToString() ? "" : arr[i].DATA_PAGAMENTO.ToShortDateString();

                dt.Rows.Add(row);
            }

            return(dt);
        }
示例#2
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.");
            }
        }
示例#3
0
 public BoletoAPIController(ContaClienteDAO contaClienteDAO, BoletoDAO boletoDAO)
 {
     _contaClienteDAO = contaClienteDAO;
     _boletoDAO       = boletoDAO;
 }
示例#4
0
 public BoletoController(Context context, ContaClienteDAO contaClienteDAO, BoletoDAO boletoDAO)
 {
     _context         = context;
     _contaClienteDAO = contaClienteDAO;
     _boletoDAO       = boletoDAO;
 }
示例#5
0
        public ArrayList gerarBoletos()
        {
            Boleto        novoBoleto;
            BoletoDAO     boletoDAO     = new BoletoDAO();
            Periodicidade periodicidade = _Contrato.PERIODICIDADE_FK;

            ArrayList boletos = new ArrayList();

            decimal  valorParcela = decimal.Parse(((_Contrato.VALOR + (_Contrato.VALOR * _Contrato.JUROS / 100)) / _Contrato.PERIODO).ToString());
            DateTime dataProx     = DateTime.Now;

            for (int i = 0; i < _Contrato.PERIODO; i++)
            {
                novoBoleto = new Boleto();

                novoBoleto.COD_CONTRATO        = _Contrato.COD_CONTRATO;
                novoBoleto.COD_SITUACAO_BOLETO = 1;
                switch (periodicidade.DESCRICAO)
                {
                case "Diária":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddDays(i + 2), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = novoBoleto.DATA_VENCIMENTO.AddDays(1);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = novoBoleto.DATA_VENCIMENTO.AddDays(1);
                    }
                    break;

                case "Mensal":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddMonths(i + 1), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(2);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(1);
                    }
                    break;

                case "Quinzenal":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddDays(i + 15), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddDays(30);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddDays(15);
                    }
                    break;

                case "Semanal":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddDays(i + 7), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddDays(14);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddDays(7);
                    }
                    break;

                case "Bimestral":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddMonths(i + 2), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(4);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(2);
                    }

                    break;

                case "Trimestral":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddMonths(i + 3), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(6);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(3);
                    }
                    break;

                case "Semestral":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddMonths(i + 6), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(12);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(6);
                    }
                    break;

                default:
                    novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddDays(i + 1), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                    break;
                }
                //dataProx = novoBoleto.DATA_VENCIMENTO;
                novoBoleto.PARCELA = i + 1;
                novoBoleto.VALOR   = valorParcela;

                boletoDAO.Add(novoBoleto);
                boletoDAO.SaveChanges();
                boletos.Add(novoBoleto);
            }
            return(boletos);
        }