public decimal GetDescontoFinal(decimal descontoInicial, int quantidade) { int pontuacaoDoCliente = ServicoDeCredito.ClienteHaQuantosAnos(cpfCliente); bool clienteNegativado = ServicoDeCredito.VerificaClienteNegativado(cpfCliente); if (clienteNegativado) { return(0); //early return } var result = descontoInicial; if (descontoInicial > LIMITE_MAXIMO_DESCONTO_INICIAL) { result = DESCONTO_MAXIMO; } if (quantidade > LIMITE_MINIMO_QUANTIDADE) { result += INCREMENTO_DESCONTO_POR_QUANTIDADE; } if (pontuacaoDoCliente > PONTUACAO_MINIMA_CLIENTE_PREMIUM) { result += INCREMENTO_DESCONTO_PREMIUM; } return(result); }
void Main(decimal descontoInicial, int quantidade, string cpfCliente) { int pontuacaoDoCliente = ServicoDeCredito.ClienteHaQuantosAnos(cpfCliente); bool clienteNegativado = ServicoDeCredito.VerificaClienteNegativado(cpfCliente); var descontoCliente = new Cliente(cpfCliente) .GetDescontoFinal(descontoInicial, quantidade, pontuacaoDoCliente, clienteNegativado); Console.WriteLine($"Desconto final: {descontoCliente}"); }