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); }
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."); } }
public BoletoAPIController(ContaClienteDAO contaClienteDAO, BoletoDAO boletoDAO) { _contaClienteDAO = contaClienteDAO; _boletoDAO = boletoDAO; }
public BoletoController(Context context, ContaClienteDAO contaClienteDAO, BoletoDAO boletoDAO) { _context = context; _contaClienteDAO = contaClienteDAO; _boletoDAO = boletoDAO; }
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); }