Exemplo n.º 1
0
        public FaturaResponse GerarBoleto(FaturaRequest cartao)
        {
            FaturaResponse _faturaResponse = new FaturaResponse();

            try
            {
                string responseStr = ConsumeWS(Verbs.POST, "invoices", JsonConvert.SerializeObject(cartao));

                if (!string.IsNullOrEmpty(responseStr))
                {
                    _faturaResponse = JsonConvert.DeserializeObject <FaturaResponse>(responseStr);
                }
                else
                {
                    _faturaResponse.ListErros = new List <string>();
                    _faturaResponse.ListErros.Add("Não foi possível gerar o boleto");
                }
            }
            catch (Exception ex)
            {
                _faturaResponse.ListErros = new List <string>();
                _faturaResponse.ListErros.Add($"Não foi possível gerar o boleto: [{ex.Message}]");
            }

            return(_faturaResponse);
        }
Exemplo n.º 2
0
        public void Deve_Gerar_Boleto()
        {
            List <Item> listItens = new List <Item>();

            listItens.Add(new Item()
            {
                Descricao = "PRODUTO 0002",
                Qtde      = 1,
                Valor     = 120 //Equivalente a R$ 1,20
            });

            faturaRequest = new FaturaRequest()
            {
                EmailCliente               = "*****@*****.**",
                EmailComCopiaPara          = "",
                DataVencimento             = DateTime.Now.AddDays(10).ToString("yyyy-MM-dd"),
                ConsiderarSomenteDiasUteis = true,
                ListItensCobranca          = listItens,
                ListParametros             = new List <CustomVariables>(),
                Pagador = new Pagador()
                {
                    CpfCnpj  = "32518799877",
                    Nome     = "Marcelo Bueno",
                    Endereco = new Endereco()
                    {
                        CEP         = "02130040",
                        Logradouro  = "Rua Orindiuva",
                        Numero      = "345",
                        Complemento = "Apto 63",
                        Bairro      = "Vila Maria",
                        Estado      = "SP",
                        Cidade      = "São Paulo"
                    }
                },
                CodigoPedido = "0003"
            };

            FaturaResponse faturaResponse = iuguService.GerarBoleto(faturaRequest);

            Assert.True(faturaResponse.ListErros == null);
        }
Exemplo n.º 3
0
 public FaturaResponse GerarBoleto(FaturaRequest fatura)
 {
     return(_integracaoPagamento.GerarBoleto(fatura));
 }
Exemplo n.º 4
0
        public void GerarFatura(int IDContasReceber, string EmailCopia)
        {
            var contasReceberEN = _repositoryContasReceber.GetByID(IDContasReceber);

            //List<PedidoVendaItemEN> listPedidoVendaItem = _repositoryPedidoVendaItem.Where(obj => obj.IDPedido == contasReceberEN.Chave).ToList();

            _unitOfWork.BeginTransaction();

            try
            {
                List <Item> listItens = new List <Item>();
                listItens.Add(new Item()
                {
                    Descricao = $"Título: [{contasReceberEN.NumeroTitulo}]",
                    Qtde      = 1,
                    Valor     = int.Parse(contasReceberEN.Valor.ToString("#0.00").Replace(",", "").Replace(".", ""))
                });

                var empresaEN  = _repositoryEmpresa.GetByID(contasReceberEN.IDEmpresa);
                var emailCopia = EmailCopia;

                FaturaRequest fatura = new FaturaRequest()
                {
                    EmailCliente               = string.IsNullOrEmpty(empresaEN.Email) ? emailCopia : empresaEN.Email,
                    EmailComCopiaPara          = emailCopia,
                    DataVencimento             = contasReceberEN.DataVencimento.ToString("yyyy-MM-dd"),
                    ConsiderarSomenteDiasUteis = true,
                    ListItensCobranca          = listItens,
                    ListParametros             = new List <CustomVariables>(),
                    Pagador = new Pagador()
                    {
                        CpfCnpj  = empresaEN.NrMatricula,
                        Nome     = empresaEN.RazaoSocial,
                        Endereco = new Endereco()
                        {
                            CEP         = empresaEN.Cep,
                            Logradouro  = empresaEN.Endereco,
                            Numero      = empresaEN.Numero,
                            Complemento = empresaEN.Complemento,
                            Bairro      = empresaEN.Bairro,
                            Estado      = empresaEN.UF,
                            Cidade      = empresaEN.Cidade
                        }
                    },
                    CodigoPedido = contasReceberEN.NumeroTitulo
                };

                var faturaResult = _integracaoIUGU.GerarBoleto(fatura);

                if (faturaResult.ListErros != null)
                {
                    string erros = string.Empty;
                    foreach (var item in faturaResult.ListErros)
                    {
                        erros += $"{item} | ";
                    }

                    if (!string.IsNullOrEmpty(erros))
                    {
                        throw new DomainException(erros);
                    }
                }

                _repositoryContasReceber.Edit(contasReceberEN);
                contasReceberEN.LinkFatura = faturaResult.LinkFatura;

                _unitOfWork.Commit();

                _unitOfWork.CommitTransaction();
            }
            catch (DomainException ex)
            {
                Console.Write(ex);
                _unitOfWork.RollbackTransaction();
                throw new DomainException(ex.Message);
            }
            catch (Exception ex)
            {
                Console.Write(ex);
                _unitOfWork.RollbackTransaction();
                throw new DomainException("Erro ao Gerar Fatura. Tente novamente mais tarde");
            }
        }