private Turma(string id, string descricao, ConfiguracaoInscricao configuracaoInscricao, int totalInscritos, ConfiguracaoValor configuracaoValor, bool aberta) { Id = id; Descricao = descricao; ConfiguracaoInscricao = configuracaoInscricao; TotalInscritos = totalInscritos; ConfiguracaoValor = configuracaoValor; Aberta = aberta; }
public void AplicarDesconto(IRegraDesconto regra) { var regraId = Guid.NewGuid().ToString(); var regraDesconto = regra switch { RegraDescontoPorDistancia regraDescontoAntecipado => new DescontoPorDistancia(regraId, regraDescontoAntecipado.GetType().Name, regraDescontoAntecipado.LimiteDistancia, regraDescontoAntecipado.PercentualDesconto), _ => new DescontoSimples(regraId, regra.GetType().Name, regra.PercentualDesconto) as DescontoBase }; ConfiguracaoValor.RegistrarDesconto(regraDesconto); }
public void ConfigurarDescontoMaximo(decimal valorEmPercentual) { ConfiguracaoValor = new ConfiguracaoValor(ConfiguracaoValor.ValorMensal, ConfiguracaoValor.DescontoMulheres, ConfiguracaoValor.DescontoCriancas, ConfiguracaoValor.DescontoDistancia, ConfiguracaoValor.DescontoDistancia, valorEmPercentual); }
public void AplicarDescontoPagamentoAntecipado(decimal valorEmPercentual) { ConfiguracaoValor = new ConfiguracaoValor(ConfiguracaoValor.ValorMensal, ConfiguracaoValor.DescontoMulheres, ConfiguracaoValor.DescontoCriancas, valorEmPercentual, ConfiguracaoValor.DescontoDistancia, ConfiguracaoValor.DescontoMaximo); }
public async Task <decimal> CalcularValorMensalAsync(Inscricao inscricao) { var desconto = await ConfiguracaoValor.CalcularPercentualDescontoAsync(inscricao); return(ConfiguracaoValor.CalcularValorFinal(desconto)); }
public void ConfigurarDescontoMaximo(decimal valorEmPercentual) { ConfiguracaoValor.ConfigurarValorMaximo(valorEmPercentual); }