Example #1
0
        public JsonResult GerarBoleto()
        {
            //Criação de um objeto que vai recuperar o retorno da API
            var retorno = new API.Intermeio.Models.RetornoAPI <API.Intermeio.Models.RetornoBoleto>();

            //Criar uma instancia do Objeto Boleto Business responsável por gerar o boleto
            //Na criação do Objeto e obrigatorio passar o objeto de configuração do cliente
            var boletoBuisiness = new API.Intermeio.Business.BoletoBusiness(_configuracao);

            //Chamar um methodo que monta o boleto, como explicado no menu Gerar Boleto
            API.Intermeio.Models.BoletoModel boleto = MontarBoleto();

            //Com o objeto instaciado e passado os parâmetros de configuração podemos chamar o methodo para transmitir o boleto
            retorno = boletoBuisiness.GerarBoleto(boleto);

            //Aqui retornamos o objeto recebido como resposta ao methodo invocado e convertemos em Json e enviamos para a view.
            return(Json(retorno, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        //Criando um methodo que vai retornar o Objeto já preenchido
        private API.Intermeio.Models.BoletoModel MontarBoleto()
        {
            //Criando o objeto modelo onde será passado objetos do tipo Boleto, Cliente, SplitModel, Configuracoes

            var boletoModel = new API.Intermeio.Models.BoletoModel();

            //Criando um objeto do tipo Boleto e adicionando no modelo
            //Estou colocando um exemplo com dados fictícios
            boletoModel.Boleto = new API.Intermeio.Models.Boleto()
            {
                DataVencimento  = "10/10/2020",
                NumeroDocumento = "10864619-7",
                PercentualJuros = "0",
                PercentualMulta = "0",
                QntDiasJuros    = 0,
                QntDiasMulta    = 0,
                Valor           = new Random().Next(1, 200).ToString(), //"020" R$ 0,20 caso queira colocar um valor de R$ 4500,68 colocar número inteiro sem pontuação Ex.450068
                ValorJuros      = 0
            };

            //Criando um objeto do tipo Cliente e adicionando no modelo
            //Estou colocando um exemplo com dados fictícios
            boletoModel.Cliente = new API.Intermeio.Models.Cliente()
            {
                NomeRazao        = "Juarez12",
                ApelidoEndereco  = "endereco 01",
                Bairro           = "juquia ze",
                Celular          = "11944445555",
                CEP              = "08830010",
                Cidade           = "Sao",
                Complemento      = "Casa",
                CpfCnpj          = "74136537000110",
                DataDeNascimento = "27/02/1987",
                Email            = "*****@*****.**",
                Endereco         = "Francisco",
                Estado           = "SP",
                Logradouro       = "Rua",
                Sexo             = "M",
                Numero           = "94"
            };

            //Criando um Objeto Split Model
            var splitModel = new API.Intermeio.Models.SplitModel();

            //Este parametro e muito importante quando está marcado como true, qualquer erro que houver na hora do split ele aborta o processo de geração do boleto
            splitModel.AbortarEmCasoDeErro = true;
            //Dentro do Split um dos objetos que ele recebe é uma lista de clientes, aqui estamos criando uma lista para preencher 2 clientes
            var clientesSplit = new List <API.Intermeio.Models.SplitCliente>();
            //Criando o primeiro objeto do cliente que vai ficar dentro do Split
            var clientSplit = new API.Intermeio.Models.SplitCliente()
            {
                NomeRazao         = "Fabio Santos",
                CpfCnpj           = "02130040896",
                Descricao         = "teste",
                Email             = "*****@*****.**",
                Taxa              = "16",
                NotificarPorEmail = true,
                NotificarPorSms   = false,
                //Criando um objeto lista do tipo telefone onde 1 cliente pode ter varios telefones
                Telefones = new List <API.Intermeio.Models.Telefone>()
                {
//Criando objeto do tipo telefone
                    new API.Intermeio.Models.Telefone()
                    {
                        Apelido = "Fabio",
                        DDD     = "11",
                        Numero  = "988886666"
                    }
                },
                //Criar o objeto do tipo conta do cliente para o split
                ClienteContaBancaria = new API.Intermeio.Models.ClienteContaBancaria()
                {
                    Conta       = "11111",
                    DigConta    = "1",
                    Agencia     = "2222",
                    DigAgencia  = "2",
                    CodigoBanco = "12345"
                },
                //Criando um objeto do tipo transferência automatica
                TransferenciaAutomatica = new API.Intermeio.Models.TransferenciaAutomatica()
                {
                    ACobrar = true,
                    EfetuarTefAutomatica = true,
                    Periodicidade        = 1,
                    ValorMinimo          = "100"
                }
            };
            //Criando o segundo objeto do tipo cliente split
            var clientSplit2 = new API.Intermeio.Models.SplitCliente()
            {
                NomeRazao         = "Fulano da Silva",
                CpfCnpj           = "02130040896",
                Descricao         = "teste",
                Email             = "*****@*****.**",
                Taxa              = "20",
                NotificarPorEmail = true,
                NotificarPorSms   = true,
                //Criando objeto do tipo telefone para o segundo cliente split
                Telefones = new List <API.Intermeio.Models.Telefone>()
                {
                    new API.Intermeio.Models.Telefone()
                    {
                        Apelido = "Split 2",
                        DDD     = "11",
                        Numero  = "922221111"
                    }
                },
                //Criar o objeto do tipo conta para o segundo cliente split
                ClienteContaBancaria = new API.Intermeio.Models.ClienteContaBancaria()
                {
                    Conta       = "11111",
                    DigConta    = "1",
                    Agencia     = "2222",
                    DigAgencia  = "2",
                    CodigoBanco = "12345"
                },
                //Criando um objeto do tipo transferência automatica para o segundo cliente split
                TransferenciaAutomatica = new API.Intermeio.Models.TransferenciaAutomatica()
                {
                    ACobrar = true,
                    EfetuarTefAutomatica = true,
                    Periodicidade        = 1,
                    ValorMinimo          = "100"
                }
            };

            //Adicionando na lista de split o cliente 1 e 2
            clientesSplit.Add(clientSplit);
            clientesSplit.Add(clientSplit2);
            //Adicionando no obejto Split Model o split preenchido com os dados dos clientes
            splitModel.Clientes = clientesSplit;
            //Adicionando o objeto split no modelo boleto
            boletoModel.Split = splitModel;
            //Criando objeto configurações do modelo boleto
            var configuracoes = new API.Intermeio.Models.Configuracoes()
            {
                //Criando um objeto Emissão Digital para enviar Sms e email para o cliente
                EmissaoDigital = new API.Intermeio.Models.EmissaoDigital()
                {
                    Email = "*****@*****.**",
                    //Criando um objeto SMS
                    Sms = new API.Intermeio.Models.Sms()
                    {
                        Celular = "11977446699",
                        Msg     = "Teste Via API classe de teste"
                    }
                }
            };

            //Adicionado as configurações do boleto no objeto Boleto
            boletoModel.Configuracoes = configuracoes;
            //Retornando o objeto(Boleto) todo preenchido pronto para gerar o boleto
            return(boletoModel);
        }