Boa tarde, estou com uma duvida pertinente, escrevi duas funções que calculam as taxas de um serviço e descontam de montante para saber qual o valor liquido que será retirado. Estou confuso do porque a propriedade Taxas não está recebendo o calculo correto de taxas a serem aplicadas :/
Explicando melhor, na linha de atribuição não ocorre o esperado.
public double CalculoDeTaxas(double ValorSaque)
{
Taxas = (ValorSaque * cvariavel) + cfixa;
return Taxas;
}
O que acontece depois de executar o código é que a propriedade Taxas armazena somente a variável cfixa e "descarta" a operação anterior.
Fica aqui meu código, gostaria de saber porque está ocorrendo esse problema. Lembrando que o calculo final acontece normalmente descontando o valor exato como é de se esperar.
Program.cs
namespace MinhaCalculadoraDeTaxas
{
class Program
{
static void Main(string[] args)
{
CalculaTaxas calculo = new CalculaTaxas();
calculo.ValorSaque = 400;
Console.WriteLine("Total de taxas: R$" + calculo.CalculoDeTaxas(calculo.Taxas));
Console.WriteLine("Valor a ser recebido com a retirada de R$" + calculo.ValorSaque + " é de R$" + calculo.RetiradaBancaria(calculo.ValorSaque));
Console.ReadLine();
}
}
}
CalculaTaxas.cs
namespace MinhaCalculadoraDeTaxas
{
public class CalculaTaxas
{
private double cfixa = 4.99; // Comissao fixa adicionada a cada retirada
private double cvariavel = 0.0099; // Comissao percentual
private double liquido;
public double Taxas { get; set; }
private double _valorsaque;
public double ValorSaque
{
get
{
return _valorsaque;
}
set
{
if(value < 0)
{
return;
}
_valorsaque = value;
}
}
public double CalculoDeTaxas(double ValorSaque)
{
Taxas = (ValorSaque * cvariavel) + cfixa;
return Taxas;
}
public double RetiradaBancaria(double ValorSaque)
{
CalculoDeTaxas(ValorSaque);
liquido = ValorSaque - Taxas;
return liquido;
}
}
}
Obrigado desde já ;)