/// <summary> /// Metodo para ler e processar o arquivo de retorno /// </summary> /// <param name="b"><see cref="Model.Banco"/> vinculado ao arquivo</param> /// <param name="s">stream do arquivo a ser lido</param> /// <param name="tipo">informa o tipo do cnab a ser lido</param> /// <returns></returns> public bool lerArquivoRetorno(Model.Banco b, Stream s, TipoArquivo tipo) { try { IArquivoRetorno cnab = null; var banco = new BoletoNet.Banco(b.Numero); switch (tipo) { case TipoArquivo.CNAB400: cnab = new ArquivoRetornoCNAB400(); cnab.LerArquivoRetorno(banco, s); return(salvarArquivo400(b, (ArquivoRetornoCNAB400)cnab, s)); break; case TipoArquivo.CNAB240: cnab = new ArquivoRetornoCNAB240(); cnab.LerArquivoRetorno(banco, s); return(salvarArquivo240(b, (ArquivoRetornoCNAB240)cnab)); break; default: break; } return(false); } catch (Exception ex) { throw new Exception("Erro ao ler o arquivo de retorno.", ex.InnerException); } }
public void Initialize() { _banco = new Banco(BancoBanestesCodigo); _boleto = new BoletoNet.Boleto(new DateTime(2014, 1, 18), 2952.95m, "00", "21487805", "123", "1.222.333") { Banco = _banco, NumeroDocumento = "18.030299.01" }; }
public Instrucao_HSBC(Banco Banco, int Codigo) { try { } catch (Exception ex) { throw new Exception("Erro ao carregar objeto", ex); } }
/// <summary> /// Metodo para processar um arquivo de retorno do tipo Cnab200 /// </summary> /// <param name="banco"><see cref="Model.Banco">vinculado ao arquivo</param> /// <param name="stream">stram do arquivo a ser lido</param> /// <returns><see cref="BoletoNet.ArquivoRetornoCNAB240"></returns> public ArquivoRetornoCNAB240 Retorno200(Model.Banco banco, Stream stream) { try { var cnab200 = new ArquivoRetornoCNAB240(); var bank = new BoletoNet.Banco(banco.Numero); cnab200.LerArquivoRetorno(bank, stream); return(cnab200); } catch (Exception ex) { throw new Exception("Erro ao ler o arquivo de retorno.", ex.InnerException); } }
public ArquivoRetornoCNAB400 LerArquivoCnab400(Stream arquivo, Model.Banco bank) { BoletoNet.Banco banco = new BoletoNet.Banco(bank.Codigo); ArquivoRetornoCNAB400 arquivoRetorno = new ArquivoRetornoCNAB400(); try { arquivoRetorno.LerArquivoRetorno(banco, arquivo); return(arquivoRetorno); } catch (Exception) { throw; } }
private void LerRetorno(int codigo) { try { Banco bco = new Banco(codigo); openFileDialog.FileName = ""; openFileDialog.Title = "Selecione um arquivo de retorno"; openFileDialog.Filter = "Arquivos de Retorno (*.ret;*.crt)|*.ret;*.crt|Todos Arquivos (*.*)|*.*"; if (openFileDialog.ShowDialog() == DialogResult.OK) { if (radioButtonCNAB400.Checked) { ArquivoRetornoCNAB400 cnab400 = null; if (openFileDialog.CheckFileExists == true) { cnab400 = new ArquivoRetornoCNAB400(); cnab400.LinhaDeArquivoLida += new EventHandler<LinhaDeArquivoLidaArgs>(cnab400_LinhaDeArquivoLida); cnab400.LerArquivoRetorno(bco, openFileDialog.OpenFile()); } if (cnab400 == null) { MessageBox.Show("Arquivo não processado!"); return; } lstReturnFields.Items.Clear(); foreach (DetalheRetorno detalhe in cnab400.ListaDetalhe) { ListViewItem li = new ListViewItem(detalhe.NomeSacado.ToString().Trim()); li.Tag = detalhe; li.SubItems.Add(detalhe.DataVencimento.ToString("dd/MM/yy")); li.SubItems.Add(detalhe.DataCredito.ToString("dd/MM/yy")); li.SubItems.Add(detalhe.ValorTitulo.ToString("###,###.00")); li.SubItems.Add(detalhe.ValorPago.ToString("###,###.00")); li.SubItems.Add(detalhe.CodigoOcorrencia.ToString()); li.SubItems.Add(""); li.SubItems.Add(detalhe.NossoNumeroComDV); // = detalhe.NossoNumero.ToString() + "-" + detalhe.DACNossoNumero.ToString()); li.SubItems.Add(detalhe.NumeroDocumento); lstReturnFields.Items.Add(li); } } else if (radioButtonCNAB240.Checked) { ArquivoRetornoCNAB240 cnab240 = null; if (openFileDialog.CheckFileExists == true) { cnab240 = new ArquivoRetornoCNAB240(); cnab240.LinhaDeArquivoLida += new EventHandler<LinhaDeArquivoLidaArgs>(cnab240_LinhaDeArquivoLida); cnab240.LerArquivoRetorno(bco, openFileDialog.OpenFile()); } if (cnab240 == null) { MessageBox.Show("Arquivo não processado!"); return; } lstReturnFields.Items.Clear(); foreach (DetalheRetornoCNAB240 detalhe in cnab240.ListaDetalhes) { ListViewItem li = new ListViewItem(detalhe.SegmentoT.NomeSacado.Trim()); li.Tag = detalhe; li.SubItems.Add(detalhe.SegmentoT.DataVencimento.ToString("dd/MM/yy")); li.SubItems.Add(detalhe.SegmentoU.DataCredito.ToString("dd/MM/yy")); li.SubItems.Add(detalhe.SegmentoT.ValorTitulo.ToString("###,###.00")); li.SubItems.Add(detalhe.SegmentoU.ValorPagoPeloSacado.ToString("###,###.00")); li.SubItems.Add(detalhe.SegmentoU.CodigoOcorrenciaSacado.ToString()); li.SubItems.Add(""); li.SubItems.Add(detalhe.SegmentoT.NossoNumero); lstReturnFields.Items.Add(li); } } MessageBox.Show("Arquivo aberto com sucesso!"); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Erro ao abrir arquivo de retorno."); } }
public void Valida_Numero_Banco_Banestes() { var banco = new Banco(21); Assert.IsInstanceOfType(banco, typeof(Banco)); }
public IBanco getBancoInterface(Banco banco) { return(banco); }
public GeracaoCNABLancamentoCobrancaViewModel GerarBoletosBancariosHtml(List <LancamentoCobranca> lancamentos, DateTime?dtVencimento, TipoValor tipoValorJuros, decimal?juros, TipoValor tipoValorMulta, decimal?multa, TipoOcorrenciaCNAB tipoOcorrenciaCNAB) { var geracaoCnab = new GeracaoCNABLancamentoCobrancaViewModel(); using (TransactionScope scope = new TransactionScope()) { var listaBoletoBancario = new List <BoletoBancario>(); var listaBoletos = new Boletos(); var contaFinanceiraLancamento = lancamentos?.FirstOrDefault()?.ContaFinanceira ?? new ContaFinanceira(); var contaFinanceira = _contaFinanceiraServico.BuscarPorId(contaFinanceiraLancamento.Id); var listaParametroBoletoBancario = _parametroBoletoBancarioServico.Buscar()?.ToList() ?? new List <ParametroBoletoBancario>(); foreach (var item in lancamentos) { if (item.Cliente.Pessoa.Enderecos == null || !item.Cliente.Pessoa.Enderecos.Any()) { throw new BusinessRuleException($"O cadastro de [{item.Cliente.Pessoa.Nome}], não possui Endereço. É necessário esta informação para prosseguir!"); } var boleto = ImprimirBoletoBancario(item, contaFinanceira, dtVencimento, tipoValorJuros, juros, tipoValorMulta, multa, listaParametroBoletoBancario, tipoOcorrenciaCNAB); var boletoBancario = new BoletoBancario() { CodigoBanco = Convert.ToInt16(contaFinanceira.Banco.CodigoBanco), Boleto = boleto, MostrarCodigoCarteira = true, TextoAbaixoDoBoleto = $"UNIDADE: {item.Unidade.Nome} - {item.Unidade?.Endereco?.Logradouro}" + $"<br/>REF: {(item.DataCompetencia == null ? item.DataVencimento.ToString("yyyyMM") : item.DataCompetencia.Value.ToString("yyyyMM"))}" + $"{(item.TipoServico == TipoServico.Mensalista ? $"<br/>CONTRATO: {item.NumerosContratos}" : string.Empty)}" }; boletoBancario.Boleto.Valida(); boletoBancario.MostrarComprovanteEntrega = false; boletoBancario.FormatoCarne = true; boletoBancario.GeraImagemCodigoBarras(boleto); listaBoletos.Add(boleto); listaBoletoBancario.Add(boletoBancario); item.PossueCnab = true; item.StatusLancamentoCobranca = StatusLancamentoCobranca.EmAberto; } var objCedente = new Cedente( contaFinanceira.Cpf, contaFinanceira.Descricao, contaFinanceira.Agencia, contaFinanceira.Conta, contaFinanceira.DigitoConta ) { CodigoTransmissao = $"{contaFinanceira.Agencia}0{contaFinanceira.Convenio.Truncate(7).PadLeft(7, '0')}0{contaFinanceira.Conta.Truncate(7).PadLeft(7, '0')}", Convenio = Convert.ToInt64(contaFinanceira.Convenio), ContaBancaria = new ContaBancaria(contaFinanceira.Agencia, contaFinanceira.DigitoAgencia ?? string.Empty, contaFinanceira.Conta, contaFinanceira.DigitoConta), Nome = contaFinanceira.Empresa?.RazaoSocial }; var aqvRemessa = new ArquivoRemessa(BoletoNet.TipoArquivo.CNAB400); var banco = new BoletoNet.Banco(Convert.ToInt32(contaFinanceira.Banco.CodigoBanco)); using (var mem = new MemoryStream()) { if (listaBoletos.Any()) { aqvRemessa.GerarArquivoRemessa(contaFinanceira.Convenio, banco, objCedente, listaBoletos, mem, Convert.ToInt32(contaFinanceira.CodigoTransmissao)); } var pdfBytes = new BoletoBancario().MontaBytesListaBoletosPDF(listaBoletoBancario, "Boletos Gerados", null, "Boletos Gerados"); geracaoCnab = new GeracaoCNABLancamentoCobrancaViewModel { BoletosHtml = listaBoletoBancario?.Select(x => x.MontaHtmlEmbedded())?.ToList() ?? new List <string>(), ArquivoRemessaMemoryStream = mem, DadosPDF = pdfBytes }; } } _lancamentoCobrancaServico.UpdateDetalhesCNAB(lancamentos); return(geracaoCnab); }
private Boletos ConvertInvoiceParcelsInBoleto(Int32 companyId, Int32 accountId, DateTime beginDate, DateTime endDate) { var customerManager = new CustomerManager(this); var profileManager = new ProfileManager(this); var companyManager = new CompanyManager(this); var accountManager = new AccountManager(this); Boleto boleto; Sacado sacado; Endereco endereco; var address = new Address(); Company company = companyManager.GetCompany(companyId); Account account = accountManager.GetAccount(accountId, companyId); var boletos = new Boletos(); var cedente = new Cedente(company.LegalEntityProfile.CNPJ, company.LegalEntityProfile.CompanyName, account.Agency, Convert.ToString(account.AgencyDigit), account.AccountNumber, Convert.ToString(account.AccountNumberDigit)); foreach (Parcel parcel in GetOpenInvoiceParcelInPeriodByAccount(companyId, accountId, beginDate, endDate)) { endereco = new Endereco(); if (parcel.Invoice.Customer.LegalEntityProfileId.HasValue) { //Address address = parcel.Invoice.Customer.LegalEntityProfile.Address; endereco.Numero = parcel.Invoice.Customer.LegalEntityProfile.AddressNumber; endereco.Complemento = parcel.Invoice.Customer.LegalEntityProfile.AddressComp; //sacado sacado = new Sacado(parcel.Invoice.Customer.LegalEntityProfile.CNPJ, parcel.Invoice.Customer.LegalEntityProfile.CompanyName); } else { //Address address = parcel.Invoice.Customer.Profile.Address; endereco.Numero = parcel.Invoice.Customer.Profile.AddressNumber; endereco.Complemento = parcel.Invoice.Customer.Profile.AddressComp; //sacado sacado = new Sacado(parcel.Invoice.Customer.Profile.CPF, parcel.Invoice.Customer.Profile.Name); } //Address endereco.Bairro = address.Neighborhood; endereco.CEP = address.PostalCode; endereco.Cidade = address.City ?? String.Empty; endereco.Logradouro = address.Name; endereco.UF = address.State; //boleto boleto = new Boleto(parcel.DueDate, Convert.ToDouble(parcel.Amount), String.Empty, String.Empty, cedente); sacado.Endereco = endereco; boleto.Sacado = sacado; var instrucao = new Instrucao(Convert.ToInt32(account.Bank.BankNumber)); var banco = new Banco(Convert.ToInt32(account.Bank.BankNumber)); instrucao.Banco = banco; instrucao.QuantidadeDias = 0; instrucao.Descricao = String.Empty; instrucao.Codigo = 0; boleto.CodigoBarra.LinhaDigitavel = String.Empty; boleto.DataDocumento = DateTime.Now; boleto.DataVencimento = parcel.DueDate; boleto.ValorDesconto = 0; boleto.Instrucoes = new List<IInstrucao>(); boleto.Instrucoes.Add(instrucao); boletos.Add(boleto); } return boletos; }
public void setBancoGx(Banco banco) { this.Banco = banco; }