Exemplo n.º 1
0
        public async Task <Cobranca> Add(Cobranca cobranca)
        {
            CollectionReference colRef = fireStoreDb.Collection(collectionName);
            await colRef.AddAsync(cobranca);

            return(cobranca);
        }
Exemplo n.º 2
0
        public static ClienteCobranca BuildCliente(Cobranca cobranca)
        {
            var cartaoCredito = cobranca.FormaPagamentoCartao ? ClienteCobrancaBuilder.BuildCartaoCredito() : null;

            return(new ClienteCobranca(cobranca, "Bla bla", "cpf", "emailbla@email", Guid.NewGuid().ToString(),
                                       BuildTelefone(), BuildEndereco(), cartaoCredito));
        }
Exemplo n.º 3
0
        public IActionResult Details(long Id)
        {
            Cobranca v_cobranca = _context.Cobranca.Where(x => x.Id == Id).ToList().FirstOrDefault();

            ViewBag.Selecionador = LocatarioList();
            return(View("Cobranca", v_cobranca));
        }
Exemplo n.º 4
0
        /// <summary>
        /// Converter um array em uma <see cref="Conta"/>
        /// </summary>
        /// <param name="array">linha do arquivo do Tipo 00</param>
        /// <returns>Uma conta com os dados</returns>
        public Conta Parse(string[] array)
        {
            var conta = new Conta();

            conta.Identificador = array[2];
            conta.DataEmissao   = DateTime.ParseExact(array[3], "yyyyMMdd", null);
            conta.MesReferencia = DateTime.ParseExact(array[4], "yyyyMM", null);
            conta.DataArquivo   = DateTime.ParseExact(array[5], "yyyyMMdd", null);
            conta.Vencimento    = DateTime.ParseExact(array[6], "yyyyMMdd", null);
            conta.Operadora     = new OperadoraBusiness().SaveAndReturn(array[7], array[8], array[9], array[10]);
            conta.Cliente       = new ClienteBusiness().SaveAndReturn(array[11], array[12], array[13]);
            conta.Versao        = array[14];
            conta.Fatura        = new FaturaBusiness().SaveAndReturn(array[15], array[16]);

            var cobranca = new Cobranca();

            cobranca.Tipo = new TipoCobrancaBusiness().SaveAndReturn(array[17], array[18]);
            if (cobranca.Tipo.Id == 2)
            {
                cobranca.Banco         = Tools.IsNullOrEmpty(array[19]) ? null : new BancoBusiness().SaveAndReturn(array[19]);
                cobranca.Agencia       = array[20];
                cobranca.ContaCorrente = array[21];
            }
            conta.Cobranca = new CobrancaBusiness().SaveAndReturn(cobranca);

            conta.Fisco  = array[22];
            conta.Filler = array[23];
            conta.Obs    = array[24];

            return(conta);
        }
Exemplo n.º 5
0
        private decimal GetValorTotalAtualizadoEmReais(Cobranca cobranca, CobrancaParcelamento parcelamento, Parametrizacao parametrizacao)
        {
            var valorPagoAnteriores = new Decimal();
            var parcelamentos       = (new CobrancaParcelamentoDa()).Obter(cobranca.Id);

            if (parcelamentos != null)
            {
                var parcelamentosAnteriores = parcelamentos.Where(x => x.Id != parcelamento.Id);
                foreach (var parcelamentoAnterior in parcelamentosAnteriores)
                {
                    valorPagoAnteriores += parcelamentoAnterior.DUAS.Sum(x => x.ValorPago);
                }
            }

            var prazoDesconto = parametrizacao.PrazoDescontoUnidade * GetPrazoDesconto(parametrizacao.PrazoDescontoDecorrencia);

            if (parcelamento.Data1Vencimento.Data.Value < cobranca.DataIUF.Data.Value.AddDays(prazoDesconto + 1).Date)
            {
                return(parcelamento.ValorMulta - valorPagoAnteriores);
            }

            var multaVRTE = parcelamento.ValorMulta * (Convert.ToDecimal(parametrizacao.MultaPercentual) / 100);
            var jurosVRTE = new Decimal();
            var diasJuros = Convert.ToDecimal(parcelamento.Data1Vencimento.Data.Value.Date.Subtract(cobranca.DataIUF.Data.Value.Date).TotalDays);

            if (diasJuros > 0)
            {
                jurosVRTE = (diasJuros / 30) * (Convert.ToDecimal(parametrizacao.JurosPercentual) / 100);
            }

            return(parcelamento.ValorMulta + multaVRTE + (parcelamento.ValorMulta * jurosVRTE) - valorPagoAnteriores);
        }
Exemplo n.º 6
0
 public void Mapping(Profile profile)
 => profile.CreateMap <CreateCobrancaCartaoCommand, Cobranca>()
 .ConstructUsing((c, context) => Cobranca.Cartao(
                     c.Descricao, c.Valor, c.Vencimento, c.ConfiguracaoEmissorId,
                     c.Cliente.Nome, c.Cliente.CpfCnpj, c.Cliente.Email,
                     context.Mapper.Map <Telefone>(c.Cliente.Telefone), context.Mapper.Map <CartaoCreditoCobranca>(c.CartaoCredito),
                     context.Mapper.Map <Endereco>(c.Cliente.Endereco), c.Cliente.TenantId));
Exemplo n.º 7
0
        public JsonResult Excluir(int id)
        {
            Matricula      matricula      = dbMatricula.FindOne(cur => cur.idMatricula == id);
            Aluno          aluno          = dbAluno.FindOne(x => x.idAluno == matricula.idAluno);
            MatriculaTurma matriculaTurma = dbMatriculaTurma.FindOne(x => x.idMatricula == matricula.idMatricula);
            Cobranca       cobranca       = dbCobranca.FindOne(x => x.idAluno == aluno.idAluno && x.idTaxa == 1);
            Turma          turma          = dbTurma.FindOne(x => x.idTurma == matriculaTurma.idTurma);

            try
            {
                dbCobranca.Remover(cobranca);
                dbCobranca.SaveChanges();

                dbMatriculaTurma.Remover(matriculaTurma);
                dbMatriculaTurma.SaveChanges();

                dbMatricula.Remover(matricula);
                dbMatricula.SaveChanges();

                dbAluno.Remover(aluno);
                dbAluno.SaveChanges();

                turma.vagasOcupadas -= 1;
                dbTurma.Atualizar(turma);
                dbTurma.SaveChanges();

                return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { success = false, message = e.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 8
0
        public Fatura Processar(Aluguel aluguel, Veiculo veiculo, decimal valorHoraBaseAluguel,
                                decimal valorHoraBaseOpcionais, ICalculadoraImpostos calculadoraImpostos)
        {
            Fatura fatura = new Fatura(aluguel.NumeroControle, aluguel.ClienteId);

            if (!aluguel.EstaEncerrado)
            {
                throw new DomainServiceException($"O Aluguel {aluguel.NumeroControle} não pôde ser faturado pois ainda não foi encerrado.");
            }

            var horasUtilizadas = aluguel.HorasUtilizadas();
            var multiplicador   = veiculo.ModeloVeiculo.Grupo.MultiplicadorHoraBase;

            Cobranca cobranca = new Cobranca(TipoCobranca.Aluguel, horasUtilizadas);

            cobranca.Processar(valorHoraBaseAluguel, multiplicador);
            fatura.AdicionarCobranca(cobranca);

            if (aluguel.PossuiOpcionais)
            {
                foreach (var opcional in aluguel.Opcionais)
                {
                    Cobranca cobrancaOpcional = new Cobranca(TipoCobranca.OpcionalAluguel, horasUtilizadas);
                    cobrancaOpcional.Processar(valorHoraBaseOpcionais, null);
                    fatura.AdicionarCobranca(cobrancaOpcional);
                }
            }

            fatura.Calcular(calculadoraImpostos);
            fatura.Emitir();

            return(fatura);
        }
Exemplo n.º 9
0
        public Cobranca GeraCobranca(Fatura fatura)
        {
            Cobranca cobranca = new Cobranca(Tipo.Boleto, fatura);

            cobranca.Emite();
            return(cobranca);
        }
Exemplo n.º 10
0
        public ContatoCliente FazContato(Cliente cliente, Cobranca cobranca)
        {
            ContatoCliente contato = new ContatoCliente(cliente, cobranca);

            contato.Dispara();
            return(contato);
        }
        public ActionResult Create(CobrancaView cobranca)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(cobranca));
                }

                Cobranca nCobranca = new Cobranca()
                {
                    Nome               = cobranca.Nome,
                    Status             = cobranca.Status,
                    DtFechamentoFatura = cobranca.DtFechamentoFatura,
                    DtVencimentoFatura = cobranca.DtVencimentoFatura,
                    TipoCobranca       = cobranca.TipoCobranca.ToString()
                };

                cb.SaveCobranca(nCobranca);

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                return(View(cobranca));
            }
        }
Exemplo n.º 12
0
        public Cobranca GeraCobranca(Tipo tipo, Fatura fatura)
        {
            Cobranca cobranca = new Cobranca(tipo, fatura);

            cobranca.Emite();
            return(cobranca);
        }
        public void CadastraCobrancaParaCliente(string cpf, Cobranca cobrancaDominio)
        {
            //Pega o cliente
            Cliente clienteDominio = ObterPorCpf(cpf);

            if (clienteDominio.Cpf.Numero > 0)
            {
                ClCobranca collectionCobranca = new ClCobranca()
                {
                    DataDeVencimento = cobrancaDominio.DataDeVencimento.DataContabil,
                    Valor            = cobrancaDominio.Valor
                };

                ClCliente collectionCliente = new ClCliente()
                {
                    Cpf  = clienteDominio.Cpf.Numero.ToString(),
                    Nome = clienteDominio.Nome.Texto,
                    Uf   = clienteDominio.Estado.SiglaEstado,
                };
                collectionCliente.Cobrancas.Add(collectionCobranca);

                //Persiste o objeto no MongoDB com a cláusula Update
            }
            else
            {
                //throw new FinanceiroRepositorioException(string.Format("O cliente de Cpf {0} não foi localizado no Sistema!"));
            }
        }
Exemplo n.º 14
0
        public void CobrancaParaCobrancaDto()
        {
            Cobranca    dominio = Cobranca.NovaCobranca(150.00M, Data.Nova(DateTime.Now.AddDays(45)), Cpf.TrataCpf("067.893.996-90"));
            CobrancaDto dto     = mapper.Map <CobrancaDto>(dominio);

            Assert.IsTrue(dto.Cpf.Equals(dominio.Cliente.Cpf.Numero.ToString()) && dto.DataDeVencimento.Equals(dominio.DataDeVencimento.DataContabil) && dto.Valor == dominio.Valor);
        }
Exemplo n.º 15
0
        //mudar data de vencimento e valor das cobranças
        public void Update(Cobranca cobranca)
        {
            var cobrancaEditada = GetById(cobranca.Cod);

            cobrancaEditada.Vencimento = cobranca.DataVencimento;
            cobrancaEditada.Valor      = cobranca.Valor;
        }
Exemplo n.º 16
0
 public void Setup()
 {
     _cobrancaBoleto = CobrancaBuilder.BuildCobrancaBoleto();
     _cobrancaCartao = CobrancaBuilder.BuildCobrancaCartao();
     _cobrancaBoletoFormaPagamentoFinalizada = CobrancaBuilder
                                               .BuildCobrancaBoleto()
                                               .ComTransacaoFinalizada();
 }
Exemplo n.º 17
0
        public IActionResult Delete(long Id)
        {
            Cobranca v_cobranca = _context.Cobranca.Where(x => x.Id == Id).ToList().FirstOrDefault();

            _context.Cobranca.Remove(v_cobranca);
            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 18
0
        public List <CobrancaDUA> GerarParcelas(Cobranca cobranca, CobrancaParcelamento parcelamento)
        {
            var list = new List <CobrancaDUA>();

            if (!_validar.Calcular(cobranca, parcelamento))
            {
                return(list);
            }

            var parametrizacao  = _busConfiguracao.ObterParametrizacao(cobranca.CodigoReceitaId, cobranca.DataEmissaoIUF.Data.Value);
            var parcelaAnterior = new CobrancaDUA();

            if (parametrizacao != null)
            {
                for (int i = 1; i <= parcelamento.QuantidadeParcelas; i++)
                {
                    var parcela = new CobrancaDUA()
                    {
                        DataEmissao    = parcelamento.DataEmissao,
                        Parcela        = string.Concat(i, '/', parcelamento.QuantidadeParcelas),
                        ParcelamentoId = parcelamento.Id
                    };

                    if (i == 1)
                    {
                        parcela.DataVencimento = new DateTecno()
                        {
                            Data = parcelamento.Data1Vencimento.Data
                        }
                    }
                    ;
                    else if (parcelaAnterior.DataVencimento.IsValido)
                    {
                        var dataVencimento = parcelaAnterior.DataVencimento.Data.Value.AddMonths(1);
                        if (dataVencimento.DayOfWeek == DayOfWeek.Saturday)
                        {
                            dataVencimento.AddDays(2);
                        }
                        else if (dataVencimento.DayOfWeek == DayOfWeek.Monday)
                        {
                            dataVencimento.AddDays(1);
                        }

                        parcela.DataVencimento = new DateTecno()
                        {
                            Data = dataVencimento
                        };
                    }
                    parcela.Situacao = "Em Aberto";

                    parcelaAnterior = parcela;
                    list.Add(parcela);
                }
            }

            return(list);
        }
Exemplo n.º 19
0
        public void CobrancaParaClCobranca()
        {
            Cliente  cliente = Cliente.NovoCliente(Cpf.Novo("067.893.996-90"), Nome.Novo("Luís Gabriel Nascimento Simas"), Uf.Novo("RJ"));
            Cobranca dominio = Cobranca.NovaCobranca(1000M, Data.Nova(new DateTime(2020, 12, 31)), cliente);

            ClCobranca collectionCobranca = mapper.Map <ClCobranca>(dominio);

            Assert.IsTrue(collectionCobranca.Cpf.Equals("6789399690"), "Erro ao converter o objeto de Domínio Cobrança para a Entidade Cobranca");
        }
        public void CreateStaticPayload()
        {
            var cobranca = new Cobranca(_chave: "bee05743-4291-4f3c-9259-595df1307ba1");

            var payload = cobranca.ToPayload("O-TxtId-Aqui", new Merchant("Alexandre Sanlim", "Presidente Prudente"));

            var stringToQrCode = payload.GenerateStringToQrCode();

            Assert.IsFalse(string.IsNullOrEmpty(stringToQrCode));
        }
Exemplo n.º 21
0
        public JsonResult MudarStatus(int idCobranca, int status)
        {
            Cobranca c = dbCobranca.FindOne(x => x.idCobranca == idCobranca);

            c.statusPagamento = status;
            dbCobranca.Atualizar(c);
            dbCobranca.SaveChanges();

            return(Json(new { success = true }));
        }
Exemplo n.º 22
0
 public void LeNossoNumero(String nossoNumero)
 {
     if (!Cobranca.NossoNumeroITAU)
     {
         Cobranca.LeNossoNumero(nossoNumero, out this._tipo, out this._contratoCodCobranca, out this._parcela);
     }
     else
     {
         this._id = Convert.ToInt32(nossoNumero);
     }
 }
Exemplo n.º 23
0
        public void DeveriaGerarFaturaCorretamente()
        {
            var cobranca = new Cobranca {
            };

            var resultado = _gerarNota
                            .Cobranca(cobranca)
                            .Gerar();

            resultado.Cobranca.Should().Be(cobranca);
        }
Exemplo n.º 24
0
        public ActionResult <Cobranca> PagarCobranca(Cobranca cob)
        {
            var cobranca = _context.Cobrancas.First(x => x.ID == cob.ID);

            cobranca.FLG_PAGA = true;

            _context.Cobrancas.Update(cobranca);
            _context.SaveChanges();

            return(StatusCode(StatusCodes.Status200OK));
        }
Exemplo n.º 25
0
        public async Task Values_Post_ReturnsBadRequestResponse()
        {
            var cobranca = new Cobranca()
            {
                Cpf = "4565"
            };
            var serializedCob = JsonConvert.SerializeObject(cobranca);
            var content       = new StringContent(serializedCob, Encoding.UTF8, "application/json");
            var response      = await _testContext.Client.PostAsync("api/v1/Cobranca", content);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
        }
Exemplo n.º 26
0
        public bool NovoParcelamento(Cobranca cobranca)
        {
            try
            {
                if (_validar.Salvar(cobranca))
                {
                    foreach (var parcela in cobranca.UltimoParcelamento.DUAS)
                    {
                        if (!parcela.DataPagamento.IsValido && parcela.ValorPago == 0)
                        {
                            parcela.DataCancelamento = new DateTecno()
                            {
                                Data = DateTime.Now
                            }
                        }
                        ;
                    }
                    this.Salvar(cobranca.UltimoParcelamento);

                    var parcelamento = new CobrancaParcelamento()
                    {
                        CobrancaId      = cobranca.Id,
                        Data1Vencimento = new DateTecno()
                        {
                            Data = DateTime.Now.AddDays(15)
                        },
                        DataEmissao = new DateTecno()
                        {
                            Data = DateTime.Now
                        },
                        ValorMulta = cobranca.UltimoParcelamento.ValorMulta,
                        DUAS       = new List <CobrancaDUA>()
                    };
                    var parametrizacao = _busConfiguracao.ObterParametrizacao(cobranca.CodigoReceitaId, cobranca.DataEmissaoIUF.Data.Value);
                    parcelamento.ValorMultaAtualizado = Math.Round(this.GetValorTotalAtualizadoEmReais(cobranca, parcelamento, parametrizacao));

                    if (cobranca.AutuadoPessoa == null)
                    {
                        cobranca.AutuadoPessoa = cobranca.AutuadoPessoaId > 0 ? new PessoaBus().Obter(cobranca.AutuadoPessoaId) : new Pessoa();
                    }
                    parcelamento.QuantidadeParcelas = this.GetMaximoParcelas(cobranca, parcelamento);

                    this.Salvar(parcelamento);
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(Validacao.EhValido);
        }
Exemplo n.º 27
0
        public int GetMaximoParcelas(Cobranca cobranca, CobrancaParcelamento parcelamento)
        {
            if (cobranca == null || !Convert.ToBoolean(cobranca.DataIUF?.IsValido) || !Convert.ToBoolean(cobranca.DataEmissaoIUF?.IsValido))
            {
                return(0);
            }

            var parametrizacao = _busConfiguracao.ObterParametrizacao(cobranca.CodigoReceitaId, cobranca.DataEmissaoIUF.Data.Value);

            if (parametrizacao == null)
            {
                return(0);
            }

            var vrte = _busConfiguracao.ObterVrte(cobranca.DataIUF.Data.Value.Year);

            if ((vrte?.Id ?? 0) == 0)
            {
                return(0);
            }

            if (parcelamento.ValorMultaAtualizado == 0 && Convert.ToBoolean(parcelamento.Data1Vencimento?.IsValido))
            {
                parcelamento.ValorMultaAtualizado = this.GetValorTotalAtualizadoEmReais(cobranca, parcelamento, parametrizacao);
            }

            var valorAtualizadoVRTE = parcelamento.ValorMultaAtualizado / vrte.VrteEmReais;
            var parcela             = 0;

            if (cobranca.AutuadoPessoa.IsFisica)
            {
                parcela = Decimal.ToInt32(valorAtualizadoVRTE / parametrizacao.ValorMinimoPF);
            }
            else
            {
                parcela = Decimal.ToInt32(valorAtualizadoVRTE / parametrizacao.ValorMinimoPJ);
            }

            var detalhe = parametrizacao.ParametrizacaoDetalhes.FindLast(x => x.ValorInicial < parcelamento.ValorMultaAtualizado && (x.ValorFinal == 0 || x.ValorFinal >= parcelamento.ValorMultaAtualizado));

            if ((detalhe?.Id ?? 0) == 0)
            {
                return(0);
            }

            if (parcela > detalhe.MaximoParcelas)
            {
                return(detalhe.MaximoParcelas);
            }

            return(parcela);
        }
Exemplo n.º 28
0
        public void CobrancaDtoParaCobranca()
        {
            CobrancaDto dto = new CobrancaDto()
            {
                Cpf = "067.893.996-90",
                DataDeVencimento = DateTime.Now.AddDays(30),
                Valor            = 150.00M
            };

            Cobranca dominio = mapper.Map <Cobranca>(dto);

            Assert.IsTrue(dominio.DataDeVencimento.DataContabil.Equals(dto.DataDeVencimento));
        }
Exemplo n.º 29
0
        public void ClCobrancaParaCobranca()
        {
            ClCobranca cobrancaCollection = new ClCobranca()
            {
                Cpf = "067.893.996-90",
                DataDeVencimento = new DateTime(2020, 12, 31),
                Valor            = 20000M
            };

            Cobranca dominio = mapper.Map <Cobranca>(cobrancaCollection);

            Assert.IsTrue(true);
        }
Exemplo n.º 30
0
        public async Task Values_Post_ValuesReturnsOkResponse()
        {
            var cobranca = new Cobranca()
            {
                Cpf = "63955700054"
            };
            var serializedCob = JsonConvert.SerializeObject(cobranca);
            var content       = new StringContent(serializedCob, Encoding.UTF8, "application/json");
            var response      = await _testContext.Client.PostAsync("api/v1/Cobranca", content);

            response.EnsureSuccessStatusCode();
            response.StatusCode.Should().Be(HttpStatusCode.OK);
        }