public async Task <Cobranca> Add(Cobranca cobranca) { CollectionReference colRef = fireStoreDb.Collection(collectionName); await colRef.AddAsync(cobranca); return(cobranca); }
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)); }
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)); }
/// <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); }
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); }
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));
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)); } }
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); }
public Cobranca GeraCobranca(Fatura fatura) { Cobranca cobranca = new Cobranca(Tipo.Boleto, fatura); cobranca.Emite(); return(cobranca); }
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)); } }
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!")); } }
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); }
//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; }
public void Setup() { _cobrancaBoleto = CobrancaBuilder.BuildCobrancaBoleto(); _cobrancaCartao = CobrancaBuilder.BuildCobrancaCartao(); _cobrancaBoletoFormaPagamentoFinalizada = CobrancaBuilder .BuildCobrancaBoleto() .ComTransacaoFinalizada(); }
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")); }
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); }
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)); }
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 })); }
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); } }
public void DeveriaGerarFaturaCorretamente() { var cobranca = new Cobranca { }; var resultado = _gerarNota .Cobranca(cobranca) .Gerar(); resultado.Cobranca.Should().Be(cobranca); }
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)); }
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); }
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); }
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); }
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)); }
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); }
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); }