예제 #1
0
        private Sessao CriaSessaoPelosCampos()
        {
            List <ContingenciaColateral> CCs = new List <ContingenciaColateral>();

            foreach (ListViewItem item in listViewCCSessao.Items)
            {
                long CCid = long.Parse(item.SubItems[1].Text);
                CCs.Add(ContingenciaColateralService.GetById(CCid));
            }

            Instrucao instrucao = null;

            if (!string.IsNullOrWhiteSpace(textInstrucao.Text))
            {
                instrucao = new Instrucao {
                    Texto = textInstrucao.Text
                };
                InstrucaoService.Salvar(instrucao);
            }

            Sessao sessao = new Sessao {
                Nome           = textBoxNomeSessao.Text,
                CCs            = CCs,
                OrdemAleatoria = checkBoxTentativasRand.Checked,
                CriterioAcertosConcecutivos = Convert.ToInt32(numericAcertosConsec.Value),
                CriterioNumeroTentativas    = Convert.ToInt32(numericNTentativas.Value),
                CriterioDuracaoSegundos     = Convert.ToInt32(numericDuracao.Value),
                Instrucao = instrucao
            };

            return(sessao);
        }
예제 #2
0
        public void Adicionar()
        {
            var potencia  = GetPotencia();
            var tempo     = GetTempo();
            var caractere = GetCaractere();
            var nome      = Nome.Trim();
            var instrucao = Instrucao.Trim();

            string alimento = "";

            if (Alimento != null)
            {
                alimento = Alimento.Trim();
            }

            try
            {
                microondas.CadastrarFuncao(potencia, tempo, nome, instrucao, caractere, alimento);
                Potencia  = "";
                Tempo     = "";
                Caractere = "";
                Nome      = "";
                Instrucao = "";
                Alimento  = "";
            }
            catch (Exception ex)
            {
                ExibirErro(ex.Message);
            }
        }
예제 #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(5);

        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "2269", "130000946");

        c.Codigo = "1795082";

        Boleto b = new Boleto(vencimento, 0.20m, "101", "566612457800", c);

        #region Adiciona Instruções somente no Cedente
        IInstrucao instrucao = new Instrucao(33);

        instrucao.Descricao = "Não esqueça de fazer uma doação ao projeto - Cedente";

        c.Instrucoes.Add(instrucao);
        #endregion

        //NOSSO NÚMERO
        //############################################################################################################################
        //Número adotado e controlado pelo Cliente, para identificar o título de cobrança.
        //Informação utilizada pelos Bancos para referenciar a identificação do documento objeto de cobrança.
        //Poderá conter número da duplicata, no caso de cobrança de duplicatas, número de apólice, no caso de cobrança de seguros, etc.
        //Esse campo é devolvido no arquivo retorno.
        b.NumeroDocumento = "0282033";

        b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
        b.Sacado.Endereco.End    = "SSS 154 Bloco J Casa 23";
        b.Sacado.Endereco.Bairro = "Testando";
        b.Sacado.Endereco.Cidade = "Testelândia";
        b.Sacado.Endereco.CEP    = "70000000";
        b.Sacado.Endereco.UF     = "DF";

        #region Adiciona Instruções somente no Sacado
        IInstrucao instrucaoSacado = new Instrucao(33);

        instrucaoSacado.Descricao = "Não esqueça de fazer uma doação ao projeto - Sacado";

        b.Sacado.Instrucoes.Add(instrucaoSacado);
        #endregion

        #region Adiciona Instruções comuns - Cedente e Sacado
        IInstrucao instrucaoComum = new Instrucao(33);

        instrucaoComum.Descricao = "Instrução Comum - Cedente/Sacado";

        b.Instrucoes.Add(instrucaoComum);
        #endregion


        //Espécie Documento - [R] Recibo
        b.EspecieDocumento = new EspecieDocumento_Santander("17");

        boletoBancario.Boleto = b;
        boletoBancario.MostrarCodigoCarteira = true;
        boletoBancario.Boleto.Valida();

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
    }
예제 #4
0
 private void ButtonGerenciarInstrucoes_Click(object sender, EventArgs e)
 {
     new GridCrud(
         InstrucaoService.GetAll,
         Instrucao.GetOrdemCulunasGrid(),
         InstrucaoService.FilterDataTable,
         null,
         InstrucaoService.DeletarPorId,
         CarregarInstrucao);
 }
예제 #5
0
        public MemoryStream GerarBoletoTeste(BoletoIn paramsBoleto)
        {
            DateTime           vencimento = DateTime.Now.AddDays(10);
            Instrucao_Bradesco item       = new Instrucao_Bradesco(9, 5);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado",
                                    "1234", "5", "123456", "7");

            c.Codigo = "13000";

            //Carteiras
            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 1.00m, "09", "01000000001", c);
            b.ValorMulta      = 0.10m;
            b.ValorCobrado    = 1.10m;
            b.NumeroDocumento = "01000000001";
            b.DataVencimento  = new DateTime(2015, 09, 12);

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            item.Descricao += " após " + item.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b.Instrucoes.Add(item); //"Não Receber após o vencimento");

            Instrucao i = new Instrucao(237);

            i.Descricao = "Nova Instrução";
            b.Instrucoes.Add(i);

            /* A data de vencimento não é usada
             * Usado para mostrar no lugar da data de vencimento o termo "Contra Apresentação";
             * Usado na carteira 06 */

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 237;
            boletoBancario.MostrarContraApresentacaoNaDataVencimento = true;
            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            try
            {
                //return SaveBoletoPDF(boleto_bancario.MontaBytesPDF(), false);
                return(SaveBoletoPDF(boletoBancario.MontaBytesPDF(), true));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #6
0
        public dynamic Create([FromBody] Billet obj)
        {
            try
            {
                BoletoBancario bb = new BoletoBancario();
                bb.CodigoBanco = obj.BankCode;

                Cedente c = new Cedente(obj.Assignor.DocumentNumber, obj.Assignor.Name, obj.Assignor.Agency, obj.Assignor.AccountBank);
                Boleto  b = new Boleto(DateTime.Parse(obj.DueDate), obj.Value, obj.WalletNumber, "01000000001", c);

                b.NumeroDocumento = obj.DocumentNumber;

                b.Sacado = new Sacado(obj.Payer.Document, obj.Payer.Name);
                b.Sacado.Endereco.End    = obj.Payer.Address;
                b.Sacado.Endereco.Bairro = obj.Payer.District;
                b.Sacado.Endereco.Cidade = obj.Payer.City;
                b.Sacado.Endereco.CEP    = obj.Payer.Cep;
                b.Sacado.Endereco.UF     = obj.Payer.State;

                Instrucao instr = new Instrucao(001);
                instr.Descricao = "Não receber após o vencimento.";
                b.Instrucoes.Add(instr);

                bb.Boleto = b;
                bb.Boleto.Valida();

                string billetName = string.Format("billet_{0}.pdf", Guid.NewGuid());

                UploadBoleto(bb.MontaBytesPDF(), billetName);

                return(new
                {
                    success = true,
                    url = string.Format("https://{0}.blob.core.windows.net/{1}/{2}", Environment.GetEnvironmentVariable("BLOB_AZURE_ACCOUNT_NAME"), Environment.GetEnvironmentVariable("BLOB_AZURE_CONTAINER"), billetName)
                });
            }
            catch (Exception ex)
            {
                return(new
                {
                    success = false,
                    messages = new List <string> {
                        ex.Message
                    }
                });
            }
        }
예제 #7
0
        public static void Salvar(Instrucao instrucao)
        {
            Instrucao instrucaoExistente = GetByTexto(instrucao.Texto);

            if (instrucaoExistente != null)
            {
                instrucao.Id = instrucaoExistente.Id;
                return;
            }

            AbstractService.Salvar <Instrucao>(
                instrucao,
                "Instrucao",
                "INSERT INTO Instrucao (Texto) VALUES(@Texto); SELECT CAST(last_insert_rowid() as int)",
                "UPDATE Instrucao SET Texto = @Texto WHERE Id = @Id"
                );
        }
예제 #8
0
        public BoletoBancario Bradesco()
        {
            DateTime vencimento = DateTime.Now.AddDays(10);

            Instrucao_Bradesco item = new Instrucao_Bradesco(9, 5);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "5", "123456", "7");

            c.Codigo = "13000";


            //Carteiras
            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 1.00m, "09", "01000000001", c);
            b.ValorMulta      = 0.10m;
            b.ValorCobrado    = 1.10m;
            b.NumeroDocumento = "01000000001";
            b.DataVencimento  = new DateTime(2015, 09, 12);

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            item.Descricao += " após " + item.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b.Instrucoes.Add(item); //"Não Receber após o vencimento");

            Instrucao i = new Instrucao(237);

            i.Descricao = "Nova Instrução";
            b.Instrucoes.Add(i);

            /*
             * A data de vencimento não é usada
             * Usado para mostrar no lugar da data de vencimento o termo "Contra Apresentação";
             * Usado na carteira 06
             */
            boletoBancario.MostrarContraApresentacaoNaDataVencimento = true;

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario);
        }
예제 #9
0
        public void GeraBoletoSudameris(int qtde)
        {
            // Cria o boleto, e passa os parâmetros usuais
            BoletoBancario bb;

            List <BoletoBancario> boletos = new List <BoletoBancario>();

            for (int i = 0; i < qtde; i++)
            {
                bb             = new BoletoBancario();
                bb.CodigoBanco = _codigoBanco;

                DateTime  vencimento = DateTime.Now.AddDays(10);
                Instrucao instr      = new Instrucao(001);

                Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0501", "6703255");
                c.Codigo = "13000";

                //Nosso número com 7 dígitos
                string nn = "0003020";
                //Nosso número com 13 dígitos
                //nn = "0000000003025";

                Boleto b = new Boleto(vencimento, 1642, "198", nn, c);// EnumEspecieDocumento_Sudameris.DuplicataMercantil);
                b.NumeroDocumento = "1008073";

                b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
                b.Sacado.Endereco.End    = "SSS 154 Bloco J Casa 23";
                b.Sacado.Endereco.Bairro = "Testando";
                b.Sacado.Endereco.Cidade = "Testelândia";
                b.Sacado.Endereco.CEP    = "70000000";
                b.Sacado.Endereco.UF     = "DF";

                instr.Descricao = "Não Receber após o vencimento";
                b.Instrucoes.Add(instr);

                bb.Boleto = b;
                bb.Boleto.Valida();

                boletos.Add(bb);
            }

            GeraLayout(boletos);
        }
예제 #10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(5);

        Instrucao_Bradesco item = new Instrucao_Bradesco(9, 5);

        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "5", "123456", "7");

        c.Codigo = "13000";


        //Carteiras
        Boleto b = new Boleto(vencimento, 1.01m, "09", "01000000001", c);

        b.NumeroDocumento = "01000000001";

        b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
        b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
        b.Sacado.Endereco.Bairro = "Bairro";
        b.Sacado.Endereco.Cidade = "Cidade";
        b.Sacado.Endereco.CEP    = "00000000";
        b.Sacado.Endereco.UF     = "UF";

        item.Descricao += " após " + item.QuantidadeDias.ToString() + " dias corridos do vencimento.";
        b.Instrucoes.Add(item); //"Não Receber após o vencimento");

        Instrucao i = new Instrucao(237);

        i.Descricao = "Nova Instrução";
        b.Instrucoes.Add(i);

        /*
         * A data de vencimento não é usada
         * Usado para mostrar no lugar da data de vencimento o termo "Contra Apresentação";
         * Usado na carteira 06
         */
        boletoBancario.MostrarContraApresentacaoNaDataVencimento = true;

        boletoBancario.Boleto = b;
        boletoBancario.Boleto.Valida();

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
    }
예제 #11
0
        public void GeraBoletoUnibanco(int qtde)
        {
            // Cria o boleto, e passa os parâmetros usuais
            BoletoBancario bb;

            List <BoletoBancario> boletos = new List <BoletoBancario>();

            for (int i = 0; i < qtde; i++)
            {
                bb             = new BoletoBancario();
                bb.CodigoBanco = _codigoBanco;

                DateTime vencimento = new DateTime(2007, 9, 10);

                Instrucao instr = new Instrucao(001);
                Cedente   c     = new Cedente("00.000.000/0000-00", "Next Consultoria Ltda.", "0123", "100618", "9");
                c.Codigo = "203167";

                Boleto b = new Boleto(vencimento, 2952.95m, "20", "1803029901", c);
                b.NumeroDocumento = b.NossoNumero;

                b.Sacado = new Sacado("000.000.000-00", "Marlon Oliveira");
                b.Sacado.Endereco.End         = "Rua Dr. Henrique Portugal, XX";
                b.Sacado.Endereco.Bairro      = "São Francisco";
                b.Sacado.Endereco.Cidade      = "Niterói";
                b.Sacado.Endereco.CEP         = "24360080";
                b.Sacado.Endereco.UF          = "RJ";
                b.Sacado.Endereco.Logradouro  = "Rua Dr. Henrique Portugal";
                b.Sacado.Endereco.Numero      = "XX";
                b.Sacado.Endereco.Complemento = "Casa";

                instr.Descricao = "Não Receber após o vencimento";
                b.Instrucoes.Add(instr);

                bb.Boleto = b;
                bb.Boleto.Valida();

                boletos.Add(bb);
            }

            GeraLayout(boletos);
        }
예제 #12
0
        public bool instrucao(Instrucao inst)
        {
            guarda = index;
            Atribuicao atr = new Atribuicao();

            if (atribuicao(atr))
            {
                inst = atr;
                if (notPrinted(guarda))
                {
                    AtrReduce(guarda);
                }
                return(true);
            }
            index = guarda;
            Instrucao_leitura inst_leitura = new Instrucao_leitura();

            if (instrucao_leitura(inst_leitura))
            {
                if (notPrinted(guarda))
                {
                    AtrRead(guarda);
                }
                inst = inst_leitura;
                return(true);
            }
            index = guarda;
            Instrucao_escrita inst_escrita = new Instrucao_escrita();

            if (instrucao_escrita(inst_escrita))
            {
                if (notPrinted(guarda))
                {
                    AtrPrint(guarda);
                }
                inst = inst_escrita;
                return(true);
            }
            return(false);
        }
예제 #13
0
 public OportunidadePremioParceria(
     int oportunidadeId,
     StatusPremioParceria statusPremioParceria,
     int favorecido1,
     int favorecido2,
     int favorecido3,
     Instrucao instrucao,
     int contatoId,
     int premioReferencia,
     TipoServicoPremioParceria tipoServicoPremioParceria,
     string observacoes,
     int anexoId,
     int premioRevisaoId,
     string urlPremio,
     DateTime?dataUrlPremio,
     string emailFavorecido1,
     string emailFavorecido2,
     string emailFavorecido3,
     int criadoPor)
 {
     OportunidadeId            = oportunidadeId;
     StatusPremioParceria      = statusPremioParceria;
     Favorecido1               = favorecido1;
     Favorecido2               = favorecido2;
     Favorecido3               = favorecido3;
     Instrucao                 = instrucao;
     ContatoId                 = contatoId;
     PremioReferenciaId        = PremioReferenciaId;
     TipoServicoPremioParceria = tipoServicoPremioParceria;
     Observacoes               = observacoes;
     AnexoId          = anexoId;
     PremioRevisaoId  = premioRevisaoId;
     UrlPremio        = urlPremio;
     DataUrlPremio    = dataUrlPremio;
     EmailFavorecido1 = emailFavorecido1;
     EmailFavorecido2 = emailFavorecido2;
     EmailFavorecido3 = emailFavorecido3;
     CriadoPor        = criadoPor;
 }
예제 #14
0
        public void GeraBoletoHsbc(int qtde)
        {
            // Cria o boleto, e passa os parâmetros usuais
            BoletoBancario bb;

            List <BoletoBancario> boletos = new List <BoletoBancario>();

            for (int i = 0; i < qtde; i++)
            {
                bb             = new BoletoBancario();
                bb.CodigoBanco = _codigoBanco;

                DateTime  vencimento = DateTime.Now.AddDays(10);
                Instrucao instr      = new Instrucao(001);
                Cedente   c          = new Cedente("00.000.000/0000-00", "Minha empresa", "0000", "", "00000", "00");
                // Código fornecido pela agencia, NÃO é o numero da conta
                c.Codigo = "0000000";                                        // 7 posicoes

                Boleto b = new Boleto(vencimento, 2, "CNR", "888888888", c); //cod documento
                b.NumeroDocumento = "9999999999999";                         // nr documento

                b.Sacado = new Sacado("000.000.000-00", "Fulano de Tal");
                b.Sacado.Endereco.End    = "lala";
                b.Sacado.Endereco.Bairro = "lala";
                b.Sacado.Endereco.Cidade = "Curitiba";
                b.Sacado.Endereco.CEP    = "82000000";
                b.Sacado.Endereco.UF     = "PR";

                instr.Descricao = "Não Receber após o vencimento";
                b.Instrucoes.Add(instr);

                bb.Boleto = b;
                bb.Boleto.Valida();

                boletos.Add(bb);
            }

            GeraLayout(boletos);
        }
예제 #15
0
        public void GeraBoletoReal(int qtde)
        {
            // Cria o boleto, e passa os parâmetros usuais
            BoletoBancario bb;

            List <BoletoBancario> boletos = new List <BoletoBancario>();

            for (int i = 0; i < qtde; i++)
            {
                bb             = new BoletoBancario();
                bb.CodigoBanco = _codigoBanco;

                DateTime  vencimento = DateTime.Now.AddDays(10);
                Instrucao instr      = new Instrucao(001);
                Cedente   c          = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0542", "13000");
                c.Codigo = "13000";

                Boleto b = new Boleto(vencimento, 1642, "57", "92082835", c);
                b.NumeroDocumento = "1008073";

                b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
                b.Sacado.Endereco.End    = "SSS 154 Bloco J Casa 23";
                b.Sacado.Endereco.Bairro = "Testando";
                b.Sacado.Endereco.Cidade = "Testelândia";
                b.Sacado.Endereco.CEP    = "70000000";
                b.Sacado.Endereco.UF     = "DF";

                instr.Descricao = "Não Receber após o vencimento";
                b.Instrucoes.Add(instr);

                bb.Boleto = b;
                bb.Boleto.Valida();

                boletos.Add(bb);
            }

            GeraLayout(boletos);
        }
예제 #16
0
        //Método que verifica as instruções recursivamente
        public bool instrucao_r(Instrucoes insts)
        {
            int         guarda = index;
            Instrucao_r inst_r = new Instrucao_r();

            if (instrucao(inst_r.inst1))
            {
                if (instrucao_r(inst_r.inst2))
                {
                    insts = inst_r;
                    return(true);
                }
            }

            index = guarda;
            Instrucao inst = new Instrucao();

            if (instrucao(inst))
            {
                insts = inst;
                return(true);
            }
            return(false);
        }
예제 #17
0
 public static void Deletar(Instrucao intrucao)
 {
     AbstractService.Deletar(intrucao, "Instrucao");
 }
예제 #18
0
        private void GeraBoletoCaixa(int qtde)
        {
            try
            {
                // Cria o boleto, e passa os parâmetros usuais
                BoletoBancario bb;

                List <BoletoBancario> boletos = new List <BoletoBancario>();
                for (int i = 0; i < qtde; i++)
                {
                    #region Classes
                    CedenteDTO dtoced = new CedenteDTO();
                    dtoced.nome    = NOMEtextBox.Text;
                    dtoced.cpfcnpj = CPFtextBox.Text;
                    dtoced.agencia = AGtextBox.Text;
                    dtoced.conta   = CCtextBox.Text;

                    SacadoDTO dtosac = new SacadoDTO();
                    dtosac.cpfcnpj = cpfsactextBox.Text;
                    dtosac.nome    = nomesactextBox.Text;

                    EnderecoDTO dtoend = new EnderecoDTO();
                    dtoend.End    = endtextBox.Text;
                    dtoend.Bairro = bairrotextBox.Text;
                    dtoend.Cidade = CidadetextBox.Text;
                    dtoend.CEP    = CEPtextBox.Text;
                    dtoend.UF     = UFtextBox.Text;

                    //Instrucao_Caixa item1 = new Instrucao_Caixa(9, 5);
                    //Instrucao_Caixa item2 = new Instrucao_Caixa(81, 10);

                    double valorboleto = Convert.ToDouble(ValorBoletotextBox.Text);

                    string NossoNumero     = NossoNumerotextBox.Text;
                    string NumeroDocumento = NumeroDocumentotextBox.Text;

                    #endregion

                    bb             = new BoletoBancario();
                    bb.CodigoBanco = _codigoBanco;


                    Cedente c = new Cedente(dtoced.cpfcnpj, dtoced.nome, dtoced.agencia, dtoced.conta);

                    #region Vencimento


                    DateTime vencimento = DateTime.Now;
                    vencimento = Convert.ToDateTime(VencimentoTextbox.Text);
                    DateTime _dia = DateTime.Now;
                    DateTime vencimentoem5dias = Convert.ToDateTime(_dia.AddDays(5).ToString("dd/MM/yyyy"));


                    #endregion

                    Boleto b = new Boleto(vencimento, valorboleto, "SR", NossoNumero, c);
                    b.NumeroDocumento = NumeroDocumento;

                    b.Sacado = new Sacado(dtosac.cpfcnpj, dtosac.nome);
                    b.Sacado.Endereco.End    = dtoend.End;
                    b.Sacado.Endereco.Bairro = dtoend.Bairro;
                    b.Sacado.Endereco.Cidade = dtoend.Cidade;
                    b.Sacado.Endereco.CEP    = dtoend.CEP;
                    b.Sacado.Endereco.UF     = dtoend.UF;

                    string instrucoes = instrucoestextBox.Text.ToUpper();

                    Instrucao instr = new Instrucao(001);
                    instr.Descricao = instrucoes;
                    b.Instrucoes.Add(instr);

                    bb.Boleto = b;
                    bb.Boleto.Valida();

                    boletos.Add(bb);
                }

                GeraLayout(boletos);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #19
0
        /// <summary>
        /// Carrega instruções do boleto
        /// </summary>
        /// <param name="boleto">BOLETO com os dados processados.</param>
        /// <param name="Row_Duplicata">DATAROW com o registro da duplicata</param>
        private void Carregar_Instrucoes(Boleto boleto, DataRow Row_Duplicata)
        {
            StringBuilder sb = new StringBuilder(300);

            sb.AppendLine("select ");
            sb.AppendLine("   bi.Codigo_Instrucao");
            sb.AppendLine(" , coalesce(nfdi.Mensagem_Customizada, bi.Desc_Boleto_Instrucao) as 'Desc_Boleto_Instrucao'");
            sb.AppendLine(" , bi.NumeroDias");
            sb.AppendLine(" , bi.Porcento");
            sb.AppendLine(" from Boletos_Gerados_Instrucoes nfdi");
            sb.AppendLine("  inner join boletos_instrucoes bi on bi.boleto_instrucao = nfdi.boleto_instrucao");
            sb.AppendFormat(" where nfdi.boleto_gerado = {0}", Row_Duplicata["boleto_gerado"]);
            DataTable dt = SQL.Select(sb.ToString(), "x", false);

            foreach (DataRow row in dt.Select())
            {
                decimal dPorcento   = 0;
                int     iNumeroDias = 0;

                Instrucao i = new Instrucao(Convert.ToInt32(Row_Duplicata["Banco"]));

                if (row["Codigo_Instrucao"] != DBNull.Value)
                {
                    i.Codigo = Convert.ToInt32(row["Codigo_Instrucao"]);
                }

                if (row["Desc_Boleto_Instrucao"] != DBNull.Value)
                {
                    i.Descricao = row["Desc_Boleto_Instrucao"].ToString();
                }

                if (row["NumeroDias"] != DBNull.Value)
                {
                    iNumeroDias      = Convert.ToInt32(row["NumeroDias"]);
                    i.QuantidadeDias = iNumeroDias;
                }

                if (row["Porcento"] != DBNull.Value)
                {
                    dPorcento = Convert.ToDecimal(row["Porcento"]);
                    decimal dValor = Convert.ToDecimal(Row_Duplicata["Valor_Duplicata"]);

                    dPorcento = dValor - Math.Round(((dValor * dPorcento) / 100), 2, MidpointRounding.AwayFromZero);
                }

                //-- Verifica se existem dados para sobreposição.
                if (i.Descricao.IndexOf("{0}") >= 0)
                {
                    if (iNumeroDias > 0)
                    {
                        i.Descricao = string.Format(i.Descricao, iNumeroDias);
                    }

                    if (dPorcento > 0)
                    {
                        i.Descricao = string.Format(i.Descricao, dPorcento);
                    }
                }

                CompSoft.compFrameWork.Funcoes func;
                i.Descricao = func.Tira_Acento(i.Descricao);

                boleto.Instrucoes.Add(i); //-- Adiciona a instrução ao boleto
            }
        }
예제 #20
0
        public void GeraBoletoBradesco(int qtde)
        {
            try
            {
                CedenteDTO dtoced = new CedenteDTO();
                dtoced.nome = NOMEtextBox.Text;
                dtoced.cpfcnpj = CPFtextBox.Text;
                dtoced.agencia = AGtextBox.Text;
                dtoced.conta = CCtextBox.Text;

                SacadoDTO dtosac = new SacadoDTO();
                dtosac.cpfcnpj = cpfsactextBox.Text;
                dtosac.nome = nomesactextBox.Text;

                EnderecoDTO dtoend = new EnderecoDTO();
                dtoend.End = endtextBox.Text;
                dtoend.Bairro = bairrotextBox.Text;
                dtoend.Cidade = CidadetextBox.Text;
                dtoend.CEP = CEPtextBox.Text;
                dtoend.UF = UFtextBox.Text;

                // Cria o boleto, e passa os parâmetros usuais
                BoletoBancario bb;

                List<BoletoBancario> boletos = new List<BoletoBancario>();
                for (int i = 0; i < qtde; i++)
                {

                    bb = new BoletoBancario();
                    bb.CodigoBanco = _codigoBanco;

                    DateTime _dia = DateTime.Now;
                    DateTime vencimento = Convert.ToDateTime(_dia.AddDays(5).ToString("dd/MM/yyyy"));

                    Cedente c = new Cedente(dtoced.cpfcnpj, dtoced.nome, dtoced.agencia, dtoced.conta);
                    c.Codigo = Convert.ToInt32(dtoced.conta.ToString());




                    double valorboleto = Convert.ToDouble(ValorBoletotextBox.Text);
                    Boleto b = new Boleto(vencimento, valorboleto, "02", "01000000001", c);
                    b.NumeroDocumento = "01000015235";

                    b.Sacado = new Sacado(dtosac.cpfcnpj, dtosac.nome);
                    b.Sacado.Endereco.End = dtoend.End;
                    b.Sacado.Endereco.Bairro = dtoend.Bairro;
                    b.Sacado.Endereco.Cidade = dtoend.Cidade;
                    b.Sacado.Endereco.CEP = dtoend.CEP;
                    b.Sacado.Endereco.UF = dtoend.UF;

                    Instrucao instr = new Instrucao(001);
                    instr.Descricao = "Não Receber após o vencimento";
                    b.Instrucoes.Add(instr);

                    bb.Boleto = b;
                    bb.Boleto.Valida();

                    boletos.Add(bb);
                }

                GeraLayout(boletos);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            
        }
예제 #21
0
        private void CarregarInstrucao(long id)
        {
            Instrucao instrucao = InstrucaoService.GetById(id);

            textInstrucao.Text = instrucao.Texto;
        }
예제 #22
0
        private void GeraBoletoCaixa(int qtde)
        {
            try
            {
                // Cria o boleto, e passa os parâmetros usuais
                BoletoBancario bb;

                List<BoletoBancario> boletos = new List<BoletoBancario>();
                for (int i = 0; i < qtde; i++)
                {
                    #region Classes
                    CedenteDTO dtoced = new CedenteDTO();
                    dtoced.nome = NOMEtextBox.Text;
                    dtoced.cpfcnpj = CPFtextBox.Text;
                    dtoced.agencia = AGtextBox.Text;
                    dtoced.conta = CCtextBox.Text;

                    SacadoDTO dtosac = new SacadoDTO();
                    dtosac.cpfcnpj = cpfsactextBox.Text;
                    dtosac.nome = nomesactextBox.Text;

                    EnderecoDTO dtoend = new EnderecoDTO();
                    dtoend.End = endtextBox.Text;
                    dtoend.Bairro = bairrotextBox.Text;
                    dtoend.Cidade = CidadetextBox.Text;
                    dtoend.CEP = CEPtextBox.Text;
                    dtoend.UF = UFtextBox.Text;

                    //Instrucao_Caixa item1 = new Instrucao_Caixa(9, 5);
                    //Instrucao_Caixa item2 = new Instrucao_Caixa(81, 10);

                    double valorboleto = Convert.ToDouble(ValorBoletotextBox.Text);
                    
                    string NossoNumero = NossoNumerotextBox.Text;
                    string NumeroDocumento = NumeroDocumentotextBox.Text;

                    #endregion

                    bb = new BoletoBancario();
                    bb.CodigoBanco = _codigoBanco;


                    Cedente c = new Cedente(dtoced.cpfcnpj, dtoced.nome, dtoced.agencia, dtoced.conta);

                    #region Vencimento


                        DateTime vencimento = DateTime.Now;
                        vencimento = Convert.ToDateTime(VencimentoTextbox.Text);
                        DateTime _dia = DateTime.Now;
                        DateTime vencimentoem5dias = Convert.ToDateTime(_dia.AddDays(5).ToString("dd/MM/yyyy"));

                   
                    #endregion

                    Boleto b = new Boleto(vencimento, valorboleto, "SR", NossoNumero, c);
                    b.NumeroDocumento = NumeroDocumento;

                    b.Sacado = new Sacado(dtosac.cpfcnpj, dtosac.nome);
                    b.Sacado.Endereco.End = dtoend.End;
                    b.Sacado.Endereco.Bairro = dtoend.Bairro;
                    b.Sacado.Endereco.Cidade = dtoend.Cidade;
                    b.Sacado.Endereco.CEP = dtoend.CEP;
                    b.Sacado.Endereco.UF = dtoend.UF;

                    string instrucoes = instrucoestextBox.Text.ToUpper();

                    Instrucao instr = new Instrucao(001);
                    instr.Descricao = instrucoes;
                    b.Instrucoes.Add(instr);

                    bb.Boleto = b;
                    bb.Boleto.Valida();

                    boletos.Add(bb);
                }

                GeraLayout(boletos);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            
        }
예제 #23
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            //Remove dígito da Agência.
            int DigAgencia = 0;
            int Agencia    = 0;
            if (txtAgenciaCedente.Text.IndexOf("-") > -1)
            {
                int s   = txtAgenciaCedente.Text.IndexOf("-") + 1;
                int tam = Strings.Len(txtAgenciaCedente.Text);
                DigAgencia = Convert.ToInt32(Strings.Right(txtAgenciaCedente.Text, tam - s));
                int dif = tam - (s - 1);
                //incluindo o traço.
                Agencia = Convert.ToInt32(Strings.Left(txtAgenciaCedente.Text, tam - dif));
            }
            //txtAgenciaCedente.Text

            //Remove dígito da Conta.
            int DigConta = 0;
            int Conta    = 0;
            if (txtContaCedente.Text.IndexOf("-") > -1)
            {
                int s2   = txtContaCedente.Text.IndexOf("-") + 1;
                int tam2 = Strings.Len(txtContaCedente.Text);
                DigConta = Convert.ToInt32(Strings.Right(txtContaCedente.Text, tam2 - s2));
                int dif2 = tam2 - (s2 - 1);
                //incluindo o traço.
                Conta = Convert.ToInt32(Strings.Left(txtContaCedente.Text, tam2 - dif2));
            }
            //txtContaCedente.Text

            //Remove dígito do Cedente.
            if (txtCodigoCedente.Text.IndexOf("-") > -1)
            {
                int s3   = txtCodigoCedente.Text.IndexOf("-") + 1;
                int tam3 = Strings.Len(txtCodigoCedente.Text);
                int dif3 = tam3 - (s3 - 1);
                //incluindo o traço.
                txtCodigoCedente.Text = Strings.Left(txtCodigoCedente.Text, tam3 - dif3);
            }


            //Validação.
            switch (txtBanco.Text)
            {
            case "001":
                //Banco do Brasil.

                //Carteira com 2 caracteres.
                //If Len(txtCarteira.Text) <> 2 Then
                //Response.Write("A Carteira deve conter 2 dígitos."]
                //Exit Sub
                //End If

                //Agência com 4 caracteres.
                if (Strings.Len(Agencia) > 4)
                {
                    Response.Write("A Agência deve conter até 4 dígitos.");
                    return;
                }


                //Conta com 8 caracteres.
                if (Strings.Len(Conta) > 8)
                {
                    Response.Write("A Conta deve conter até 8 dígitos.");
                    return;
                }


                //Cedente com 8 caracteres.
                if (Strings.Len(txtCodigoCedente.Text) > 8)
                {
                    Response.Write("O Código do Cedente deve conter até 8 dígitos.");
                    return;
                }


                //Nosso Número deve ser 11 ou 17 dígitos.
                if (Strings.Len(txtNossoNumeroBoleto.Text) != 11 & Strings.Len(txtNossoNumeroBoleto.Text) != 17)
                {
                    Response.Write("O Nosso Número deve ter 11 ou 17 dígitos dependendo da Carteira.");
                    return;
                }


                break;
            //Se Carteira 18 então NossoNumero são 17 dígitos.
            //If txtCarteira.Text = "18" Then
            // If Len(txtNossoNumeroBoleto.Text) <> 17 Then
            // Response.Write("O Nosso Número deve ter 17 dígitos para Carteira 18."]
            // Exit Sub
            // End If
            //Else
            // 'Senão, então NossoNumero 11 dígitos.
            // If Len(txtNossoNumeroBoleto.Text) <> 11 Then
            // Response.Write("O Nosso Número deve ter 11 dígitos para Carteira diferente que 18."]
            // Exit Sub
            // End If
            //End If

            case "033":
                //Santander.
                break;

            case "070":
                //Banco BRB.
                break;

            case "104":
                //Caixa Econômica Federal.
                break;

            case "237":
                //Banco Bradesco.
                break;

            case "275":
                //Banco Real.

                //Cedente
                if (!string.IsNullOrEmpty(Request["CodigoCedente"]))
                {
                }

                //Cobrança registrada 7 dígitos.
                //Cobrança sem registro até 13 dígitos.
                if (Strings.Len(txtNossoNumeroBoleto.Text) < 7 & Strings.Len(txtNossoNumeroBoleto.Text) < 13)
                {
                    Response.Write("O Nosso Número deve ser entre 7 e 13 caracteres.");
                    return;
                }


                //Carteira
                if (txtCarteira.Text != "00" & txtCarteira.Text != "20" & txtCarteira.Text != "31" & txtCarteira.Text != "42" & txtCarteira.Text != "47" & txtCarteira.Text != "85" & txtCarteira.Text != "57")
                {
                    Response.Write("A Carteira deve ser 00,20,31,42,47,57 ou 85.");
                    return;
                }

                //00'- Carteira do convênio
                //20' - Cobrança Simples
                //31' - Cobrança Câmbio
                //42' - Cobrança Caucionada
                //47' - Cobr. Caucionada Crédito Imobiliário
                //85' - Cobrança Partilhada
                //57 - última implementação ?

                //Agência 4 dígitos.
                if (Strings.Len(Agencia) > 4)
                {
                    Response.Write("A Agência deve conter até 4 dígitos.");
                    return;
                }

                //Número da conta 6 dígitos.
                if (Strings.Len(Conta) > 6)
                {
                    Response.Write("A Conta Corrente deve conter até 6 dígitos.");
                    return;
                }


                break;

            case "291":
                //Banco BCN.
                break;

            case "341":
                //Banco Itaú.
                break;

            case "347":
                //Banco Sudameris.
                break;

            case "356":
                //Banco Real.

                //Cedente
                if (!string.IsNullOrEmpty(Request["CodigoCedente"]))
                {
                }
                //?


                //Cobrança registrada 7 dígitos.
                //Cobrança sem registro até 13 dígitos.
                if (Strings.Len(txtNossoNumeroBoleto.Text) < 7 & Strings.Len(txtNossoNumeroBoleto.Text) < 13)
                {
                    Response.Write("O Nosso Número deve ser entre 7 e 13 caracteres.");
                    return;
                }


                //Carteira
                if (txtCarteira.Text != "00" & txtCarteira.Text != "20" & txtCarteira.Text != "31" & txtCarteira.Text != "42" & txtCarteira.Text != "47" & txtCarteira.Text != "85" & txtCarteira.Text != "57")
                {
                    Response.Write("A Carteira deve ser 00,20,31,42,47,57 ou 85.");
                    return;
                }

                //00'- Carteira do convênio
                //20' - Cobrança Simples
                //31' - Cobrança Câmbio
                //42' - Cobrança Caucionada
                //47' - Cobr. Caucionada Crédito Imobiliário
                //85' - Cobrança Partilhada

                //Agência 4 dígitos.
                if (Strings.Len(Agencia) > 4)
                {
                    Response.Write("A Agência deve conter até 4 dígitos.");
                    return;
                }

                //Número da conta 6 dígitos.
                if (Strings.Len(Conta) > 6)
                {
                    Response.Write("A Conta Corrente deve conter até 6 dígitos.");
                    return;
                }


                break;

            case "409":
                //Banco Unibanco.
                break;

            case "422":
                //Banco Safra.
                break;

            default:

                break;
            }


            //Informa os dados do cedente
            Cedente c = new Cedente(txtCPFCNPJ.Text, txtNomeCedente.Text, Agencia.ToString(), DigAgencia.ToString(), Conta.ToString(), DigConta.ToString());

            //Dependendo da carteira, é necessário informar o código do cedente (o banco que fornece)
            c.Codigo = txtCodigoCedente.Text.Trim();

            //Dados para preenchimento do boleto (data de vencimento, valor, carteira e nosso número)
            Boleto b = new Boleto(Convert.ToDateTime(txtVencimento.Text), Convert.ToDecimal(txtValorBoleto.Text), txtCarteira.Text, txtNossoNumeroBoleto.Text, c);
            //"12345678901"

            //b.Carteira = "1"
            //b.Banco.Codigo = "18-019"

            //Dependendo da carteira, é necessário o número do documento
            b.NumeroDocumento = txtNumeroDocumentoBoleto.Text;
            b.ValorCobrado    = Convert.ToDecimal(txtValorCobrado.Text);
            //"12345678901"

            //Informa os dados do sacado
            b.Sacado = new Sacado(txtCPFCNPJSacado.Text, txtNomeSacado.Text);
            b.Sacado.Endereco.End    = txtEnderecoSacado.Text;
            b.Sacado.Endereco.Bairro = txtBairroSacado.Text;
            b.Sacado.Endereco.Cidade = txtCidadeSacado.Text;
            b.Sacado.Endereco.CEP    = txtCEPSacado.Text;
            b.Sacado.Endereco.UF     = txtUFSacado.Text;

            //Instrução.
            switch (txtBanco.Text)
            {
            case "001":
                //Banco do Brasil.
                Instrucao_BancoBrasil i1 = new Instrucao_BancoBrasil(Convert.ToInt32(txtBanco.Text));
                i1.Descricao = txtInstrucoes.Text;
                // "Não Receber após o vencimento"
                b.Instrucoes.Add(i1);
                break;

            case "033":
                //Santander.
                Instrucao_Santander i2 = new Instrucao_Santander(Convert.ToInt32(txtBanco.Text));
                i2.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i2);
                break;

            case "070":
                //Banco BRB.
                Instrucao i3 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i3.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i3);
                break;

            case "104":
                //Caixa Econômica Federal.
                Instrucao_Caixa i4 = new Instrucao_Caixa(Convert.ToInt32(txtBanco.Text));
                i4.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i4);
                break;

            case "237":
                //Banco Bradesco.
                Instrucao_Bradesco i5 = new Instrucao_Bradesco(Convert.ToInt32(txtBanco.Text));
                i5.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i5);
                break;

            case "275":
                //Banco Real.
                Instrucao i6 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i6.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i6);
                break;

            case "291":
                //Banco BCN.
                Instrucao i7 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i7.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i7);
                break;

            case "341":
                //Banco Itaú.
                Instrucao_Itau i8 = new Instrucao_Itau(Convert.ToInt32(txtBanco.Text));
                i8.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i8);
                break;

            case "347":
                //Banco Sudameris.
                Instrucao i9 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i9.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i9);
                break;

            case "356":
                //Banco Real.
                //Dim i10 As New Instrucao(CInt(txtBanco.Text))
                Instrucao i10 = new Instrucao(1);
                i10.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i10);
                break;

            case "409":
                //Banco Unibanco.
                Instrucao i11 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i11.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i11);
                break;

            case "422":
                //Banco Safra.
                Instrucao i12 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i12.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i12);
                break;

            default:
                //Instrução de teste Santander.
                Instrucao_Santander i13 = new Instrucao_Santander(Convert.ToInt32(txtBanco.Text));
                i13.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i13);
                break;
            }


            //Espécie do Documento - [R] Recibo
            switch (txtBanco.Text)
            {
            case "001":
                //Banco do Brasil.
                b.EspecieDocumento = new EspecieDocumento_BancoBrasil("2");
                break;
            //Espécie.
            //Cheque = 1, //CH – CHEQUE
            //DuplicataMercantil = 2, //DM – DUPLICATA MERCANTIL
            //DuplicataMercantilIndicacao = 3, //DMI – DUPLICATA MERCANTIL P/ INDICAÇÃO
            //DuplicataServico = 4, //DS – DUPLICATA DE SERVIÇO
            //DuplicataServicoIndicacao = 5, //DSI – DUPLICATA DE SERVIÇO P/ INDICAÇÃO
            //DuplicataRural = 6, //DR – DUPLICATA RURAL
            //LetraCambio = 7, //LC – LETRA DE CAMBIO
            //NotaCreditoComercial = 8, //NCC – NOTA DE CRÉDITO COMERCIAL
            //NotaCreditoExportacao = 9, //NCE – NOTA DE CRÉDITO A EXPORTAÇÃO
            //NotaCreditoIndustrial = 10, //NCI – NOTA DE CRÉDITO INDUSTRIAL
            //NotaCreditoRural = 11, //NCR – NOTA DE CRÉDITO RURAL
            //NotaPromissoria = 12, //NP – NOTA PROMISSÓRIA
            //NotaPromissoriaRural = 13, //NPR –NOTA PROMISSÓRIA RURAL
            //TriplicataMercantil = 14, //TM – TRIPLICATA MERCANTIL
            //TriplicataServico = 15, //TS – TRIPLICATA DE SERVIÇO
            //NotaSeguro = 16, //NS – NOTA DE SEGURO
            //Recibo = 17, //RC – RECIBO
            //Fatura = 18, //FAT – FATURA
            //NotaDebito = 19, //ND – NOTA DE DÉBITO
            //ApoliceSeguro = 20, //AP – APÓLICE DE SEGURO
            //MensalidadeEscolar = 21, //ME – MENSALIDADE ESCOLAR
            //ParcelaConsorcio = 22, //PC – PARCELA DE CONSÓRCIO
            //Outros = 23 //OUTROS

            case "033":
                //Santander.
                b.EspecieDocumento = new EspecieDocumento_Santander("17");
                break;

            case "070":
                //Banco BRB.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            case "104":
                //Caixa Econômica Federal.
                b.EspecieDocumento = new EspecieDocumento_Caixa("17");
                break;

            case "237":
                //Banco Bradesco.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            case "275":
                //Banco Real.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            case "291":
                //Banco BCN.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            case "341":
                //Banco Itaú.
                b.EspecieDocumento = new EspecieDocumento_Itau("99");
                break;

            case "347":
                //Banco Sudameris.
                b.EspecieDocumento = new EspecieDocumento_Sudameris("17");
                break;

            case "356":
                //Banco Real.
                break;

            //Não funciona com isso.
            //b.EspecieDocumento = New EspecieDocumento_BancoBrasil(17)
            //b.EspecieDocumento = New EspecieDocumento_Itau(99)
            case "409":
                //Banco Unibanco.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            case "422":
                //Banco Safra.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            default:
                //Banco de teste Santander.
                b.EspecieDocumento = new EspecieDocumento_Santander("17");
                break;
            }


            BoletoBancario bb = new BoletoBancario();
            bb.CodigoBanco = Convert.ToInt16(txtBanco.Text);
            //33 '-> Referente ao código do Santander
            bb.Boleto = b;
            //bb.MostrarCodigoCarteira = True
            bb.Boleto.Valida();

            //true -> Mostra o compravante de entrega
            //false -> Oculta o comprovante de entrega
            bb.MostrarComprovanteEntrega = false;

            panelDados.Visible = false;
            panelBoleto.Controls.Clear();
            if (panelBoleto.Controls.Count == 0)
            {
                panelBoleto.Controls.Add(bb);
            }

            //03399.08063 49800.000330 32007.101028 8 41680000065640 -> correta
            //03399.08063 49800.000330 32007.101028 8 41680000065640
            //03399.08063 49800.000330 32007.101028 1 41680000065640
            //03399.08063 49800.003334 20071.301012 6 41680000065640
            //03399.08063 49800.000330 32007.101028 1 41680000065640

            //03399.08063 49800.003334 20071.301020 4 41680000065640
            //03399.08063 49800.003334 20071.301020 4 41680000065640

            //Gerar remessa.
            //Dim rdr As System.IO.Stream
            //Dim arquivo As New ArquivoRemessa(TipoArquivo.CNAB400)
            //arquivo.GerarArquivoRemessa(txtCodigoCedente.Text, b.Banco, _
            // b.Cedente, b, rdr, 1)
            //Response.Write(rdr.ToString())



            return;
        }
        catch (Exception ex)
        {
            Response.Write(ex);
        }
    }
예제 #24
0
파일: GerarUI.cs 프로젝트: oraculum/CEF
        private void btnGerar_Click(object sender, EventArgs e)
        {
            if (validForm())
            {
                List <Entity.Boleto> lb = new List <Entity.Boleto>();

                Int16    qtde = Int16.Parse(txtQtde.Text);
                DateTime venc = DateTime.Parse(txtVencimento.Text);
                lblVencimentos.Text = "";

                for (int i = 0; i < qtde; i++)
                {
                    Entity.Boleto o = new Entity.Boleto();
                    o.Cliente    = ClienteBLL.get(Int32.Parse(txtCliente.Text));
                    o.Valor      = Decimal.Parse(txtValor_Contrato.Text);
                    o.Obs1       = txtObs1.Text;
                    o.Obs2       = txtObs2.Text;
                    o.Obs3       = txtObs3.Text;
                    o.Vencimento = venc;

                    BoletoBLL.save(ref o);
                    lb.Add(o);

                    lblVencimentos.Text += venc.ToShortDateString() + Environment.NewLine;
                    venc = venc.AddMonths(1);
                }

                lbb = new List <BoletoNet.BoletoBancario>();

                foreach (Entity.Boleto boleto in lb)
                {
                    Configuracao   config = ConfiguracaoBLL.get();
                    Entity.Boleto  b      = boleto;
                    BoletoBancario bb     = new BoletoBancario();
                    bb.CodigoBanco       = 104;
                    bb.OcultarInstrucoes = true;

                    Cedente c = new Cedente(config.CNPJ, config.RazaoSocial, config.Agencia, config.Conta_Format, config.ContaDigito);
                    c.Codigo = config.Cedente;
                    String           base_nossnum = (24000000000000000 + b.ID).ToString();
                    BoletoNet.Boleto bol          = new BoletoNet.Boleto(b.Vencimento, b.Valor, "SR", base_nossnum, c);
                    bol.NumeroDocumento        = b.ID.ToString();
                    bol.Sacado                 = new Sacado(b.Cliente.CNPJ, b.Cliente.Nome + " (" + b.Cliente.Fantasia + ") ");
                    bol.Sacado.Endereco.End    = b.Cliente.Endereco;
                    bol.Sacado.Endereco.Numero = b.Cliente.Numero;
                    bol.Sacado.Endereco.Bairro = b.Cliente.Bairro;
                    bol.Sacado.Endereco.Cidade = b.Cliente.Cidade;
                    bol.Sacado.Endereco.UF     = b.Cliente.UF;
                    bol.Sacado.Endereco.CEP    = b.Cliente.CEP;

                    bol.DataDocumento = DateTime.Today.Date;
                    bol.ValorBoleto   = b.Valor;
                    Instrucao lot = new Instrucao(104);
                    lot.Descricao = config.Descricao;
                    bol.Instrucoes.Add(lot);

                    if (!String.IsNullOrEmpty(txtValor_Bruto.Text))
                    {
                        Instrucao obs = new Instrucao(104);
                        obs.Descricao = "Cobrar valor normal contrato após o vencimento R$ " + Decimal.Parse(txtValor_Bruto.Text).ToString("n");
                        bol.Instrucoes.Add(obs);
                    }

                    if (b.Obs1.Length > 0)
                    {
                        Instrucao obs1 = new Instrucao(104);
                        obs1.Descricao = b.Obs1;
                        bol.Instrucoes.Add(obs1);
                    }
                    if (b.Obs2.Length > 0)
                    {
                        Instrucao obs2 = new Instrucao(104);
                        obs2.Descricao = b.Obs2;
                        bol.Instrucoes.Add(obs2);
                    }
                    if (b.Obs3.Length > 0)
                    {
                        Instrucao obs3 = new Instrucao(104);
                        obs3.Descricao = b.Obs3;
                        bol.Instrucoes.Add(obs3);
                    }

                    bb.Boleto = bol;
                    bb.Boleto.Valida();

                    //salvando o nosso numero depois de gerado
                    b.NossoNum = bb.Boleto.NossoNumero;
                    BoletoBLL.save(ref b);

                    lbb.Add(bb);
                }

                GeraLayout();
                _impressaoBoleto.webBrowser1.Navigate(_arquivo);
                _impressaoBoleto.ShowDialog();


                toolStripStatusLabel1.Text = "Boletos gerados";
            }
        }
예제 #25
0
        public void GeraBoletoBradesco(int qtde)
        {
            try
            {
                CedenteDTO dtoced = new CedenteDTO();
                dtoced.nome    = NOMEtextBox.Text;
                dtoced.cpfcnpj = CPFtextBox.Text;
                dtoced.agencia = AGtextBox.Text;
                dtoced.conta   = CCtextBox.Text;

                SacadoDTO dtosac = new SacadoDTO();
                dtosac.cpfcnpj = cpfsactextBox.Text;
                dtosac.nome    = nomesactextBox.Text;

                EnderecoDTO dtoend = new EnderecoDTO();
                dtoend.End    = endtextBox.Text;
                dtoend.Bairro = bairrotextBox.Text;
                dtoend.Cidade = CidadetextBox.Text;
                dtoend.CEP    = CEPtextBox.Text;
                dtoend.UF     = UFtextBox.Text;

                // Cria o boleto, e passa os parâmetros usuais
                BoletoBancario bb;

                List <BoletoBancario> boletos = new List <BoletoBancario>();
                for (int i = 0; i < qtde; i++)
                {
                    bb             = new BoletoBancario();
                    bb.CodigoBanco = _codigoBanco;

                    DateTime _dia       = DateTime.Now;
                    DateTime vencimento = Convert.ToDateTime(_dia.AddDays(5).ToString("dd/MM/yyyy"));

                    Cedente c = new Cedente(dtoced.cpfcnpj, dtoced.nome, dtoced.agencia, dtoced.conta);
                    c.Codigo = Convert.ToInt32(dtoced.conta.ToString());



                    double valorboleto = Convert.ToDouble(ValorBoletotextBox.Text);
                    Boleto b           = new Boleto(vencimento, valorboleto, "02", "01000000001", c);
                    b.NumeroDocumento = "01000015235";

                    b.Sacado = new Sacado(dtosac.cpfcnpj, dtosac.nome);
                    b.Sacado.Endereco.End    = dtoend.End;
                    b.Sacado.Endereco.Bairro = dtoend.Bairro;
                    b.Sacado.Endereco.Cidade = dtoend.Cidade;
                    b.Sacado.Endereco.CEP    = dtoend.CEP;
                    b.Sacado.Endereco.UF     = dtoend.UF;

                    Instrucao instr = new Instrucao(001);
                    instr.Descricao = "Não Receber após o vencimento";
                    b.Instrucoes.Add(instr);

                    bb.Boleto = b;
                    bb.Boleto.Valida();

                    boletos.Add(bb);
                }

                GeraLayout(boletos);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
        }
예제 #26
0
        public static Boleto GerarBoleto(int tituloRecorrenteId, decimal valor, DateTime dataVencimento, int modeloBoletoId)
        {
            #region Instanciações
            var db = new Contexto();
            //var titulo = new RepositorioTituloRecorrente().BuscarPorId(tituloRecorrenteId);
            var titulo      = db.TitulosRecorrentes.Find(tituloRecorrenteId);
            var conta       = titulo.Conta;
            var pessoa      = titulo.Pessoa;
            var empresa     = titulo.Empresa;
            int numeroBanco = conta.Banco.Codigo;
            //var repoModeloBoleto = new RepositorioModeloBoleto();
            //var modeloBoleto = repoModeloBoleto.BuscarPorId(modeloBoletoId);
            var     modeloBoleto           = db.ModelosBoleto.Find(modeloBoletoId);
            var     dataVencimentoOriginal = dataVencimento;
            Decimal JurosTotais            = 0;
            if (modeloBoleto == null)
            {
                throw new Exception("Modelo de Boleto não definido");
            }
            #endregion

            #region Gravar Boleto
            //var repoBoletoGerado = new RepositorioBoletoGerado();
            //var boletogerado = repoBoletoGerado.Listar(b => b.TituloRecorrenteId == tituloRecorrenteId && b.DataVencimento == dataVencimento).FirstOrDefault();
            var boletoGerado = db.BoletosGerado.Where(b => b.TituloRecorrenteId == tituloRecorrenteId && b.DataVencimento == dataVencimento).FirstOrDefault();

            if (boletoGerado == null)
            {
                boletoGerado = new BoletoGerado();
                boletoGerado.ModeloBoletoId     = modeloBoletoId;
                boletoGerado.TituloId           = null;
                boletoGerado.TituloRecorrenteId = tituloRecorrenteId;
                boletoGerado.DataVencimento     = dataVencimento;
                boletoGerado.PercentualDesconto = modeloBoleto.PercentualDesconto;
                boletoGerado.DiasDesconto       = modeloBoleto.DiasDesconto;
                boletoGerado.Juros = modeloBoleto.Juros;
                boletoGerado.Multa = modeloBoleto.Multa;

                modeloBoleto.NossoNumero++;
                //repoModeloBoleto.Alterar(modeloBoleto);
                db.Entry <ModeloBoleto>(modeloBoleto).State = System.Data.Entity.EntityState.Modified;
                boletoGerado.NossoNumero = modeloBoleto.NossoNumero;
                boletoGerado.EmpresaId   = titulo.EmpresaId;
                //repoBoletoGerado.Incluir(boletoGerado);
                db.BoletosGerado.Add(boletoGerado);
                db.SaveChanges();
            }
            #endregion

            #region Cedente
            var c = new Cedente(empresa.CpfCnpj, empresa.Nome, conta.Agencia, conta.ContaCorrente.Split('-')[0], conta.ContaCorrente.Split('-')[1]);
            c.Codigo = conta.ContaCorrente;
            #endregion

            #region Boleto
            Boleto boleto = new Boleto(dataVencimento, valor, modeloBoleto.Carteira, boletoGerado.NossoNumero.ToString(), c, new EspecieDocumento(numeroBanco));
            boleto.NumeroDocumento = tituloRecorrenteId.ToString();
            boleto.Banco           = new BoletoNet.Banco(numeroBanco);
            #endregion

            #region Instrucoes
            Instrucao item1 = new Instrucao(conta.Banco.Codigo);
            item1.Descricao = modeloBoleto.Instrucao;
            boleto.Instrucoes.Add(item1);
            #endregion

            #region Juros
            if (boletoGerado.Juros > 0)
            {
                Instrucao item2 = new Instrucao(conta.Banco.Codigo);
                boleto.JurosMora = Math.Round(boleto.ValorBoleto * boletoGerado.Juros / 100 / 30, 2);
                item2.Descricao  = "Após o vencimento cobrar juros de R$ " + boleto.JurosMora + " ao dia";
                boleto.Instrucoes.Add(item2);
                if (dataVencimento < DateTime.Today && titulo.Categoria.DirecaoVencimentoDiaNaoUtil == DirecaoVencimento.Antecipado)
                {
                    boleto.DataVencimento = DateTime.Today;
                    int diasTotais = (int)(DateTime.Today - dataVencimento).TotalDays;
                    JurosTotais = boleto.JurosMora * diasTotais;
                }
                else if (dataVencimento < DateTime.Today && titulo.Categoria.DirecaoVencimentoDiaNaoUtil == DirecaoVencimento.Prorrogado)
                {
                    boleto.DataVencimento = DateTime.Today;
                    int diasTotais = (int)(DateTime.Today - dataVencimento).TotalDays;
                    JurosTotais = boleto.JurosMora * diasTotais;
                }
            }
            #endregion

            #region Multa
            if (boletoGerado.Multa > 0)
            {
                Instrucao item3 = new Instrucao(conta.Banco.Codigo);
                decimal   multa = boleto.ValorBoleto * boletoGerado.Multa / 100;
                item3.Descricao = "Após o vencimento cobrar multa de R$ " + Math.Round(multa, 2);
                boleto.Instrucoes.Add(item3);
                if (dataVencimento < DateTime.Today)
                {
                    boleto.DataVencimento = DateTime.Today;
                    boleto.ValorMulta     = multa;
                    Instrucao item4 = new Instrucao(conta.Banco.Codigo);
                    item4.Descricao = "Valor original: R$ " + boleto.ValorBoleto;
                    boleto.Instrucoes.Add(item4);
                }
            }

            boleto.ValorBoleto  += JurosTotais + boleto.ValorMulta;
            boleto.DataJurosMora = dataVencimento;
            boleto.DataMulta     = dataVencimento;
            boleto.PercMulta     = boletoGerado.Multa;
            boleto.PercJurosMora = boletoGerado.Juros;
            #endregion

            #region Desconto
            if (boletoGerado.PercentualDesconto > 0)
            {
                boleto.DataDesconto = dataVencimentoOriginal.AddDays(-boletoGerado.DiasDesconto);
                if (DateTime.Today <= boleto.DataDesconto)
                {
                    boleto.ValorDesconto = boleto.ValorBoleto * (boletoGerado.PercentualDesconto / 100);
                    Instrucao instrucaoDesconto = new Instrucao(numeroBanco);
                    instrucaoDesconto.Descricao = "Até " + boleto.DataDesconto.GetDateTimeFormats()[0] + " conceder desconto de R$ " + Math.Round(boleto.ValorDesconto, 2);
                    boleto.Instrucoes.Add(instrucaoDesconto);
                }
            }
            #endregion

            #region Sacado
            boleto.Sacado          = new Sacado(pessoa.Cpf, pessoa.Nome);
            boleto.Sacado.Endereco = new BoletoNet.Endereco()
            {
                Bairro      = pessoa.Endereco.Bairro,
                End         = pessoa.Endereco.Logradouro + ", " + pessoa.Endereco.Numero + " " + pessoa.Endereco.Complemento,
                CEP         = pessoa.Endereco.Cep,
                Cidade      = pessoa.Endereco.Cidade,
                Complemento = pessoa.Endereco.Complemento,
                Numero      = pessoa.Endereco.Numero,
                UF          = pessoa.Endereco.Uf
            };
            #endregion

            return(boleto);
        }