I have Bank class with DepositCalculator that should return value of DepositWithPercentage for each object separately but when i run my code and add some values, Deposit have same value for all objects. What i did wrong?
internal class Bank
{
public static double DepositWithPercentage { get; set; }
public static double Deposit { get; set; }
public Bank(double dp)
{
Deposit = dp;
}
public double DepositCalculator()
{
if (Deposit < 100)
{
return DepositWithPercentage += Deposit + Deposit * 0.05;
}
if (100 > Deposit && Deposit < 200)
{
return DepositWithPercentage += Deposit + Deposit * 0.07;
}
else
{
return DepositWithPercentage += Deposit + Deposit * 0.1;
}
}
public double BonusCalculator()
{
return DepositWithPercentage += 15;
}
}
}
static void Main(string[] args)
{
List<Bank> bankDeposits = new List<Bank>();
String answer;
while (bankDeposits.Count < 100)
{
Console.WriteLine("To see all your deposits input 'See' to get bonus input 'Bonus' to add new deposit input 'Add'");
answer = Convert.ToString(Console.ReadLine());
if (answer == "See") {
foreach (Bank bank in bankDeposits)
{
Console.WriteLine("Deposit with percentage is: " + bank.DepositCalculator());
}
}
if(answer == "Bonus")
{
foreach (Bank bank in bankDeposits)
{
Console.WriteLine(bank.BonusCalculator());
}
}
if (answer == "Add")
{
Console.WriteLine("Please, input your deposit");
bankDeposits.Add(new Bank(Convert.ToDouble(Console.ReadLine())));
}
}
}
}
When i create new instance of bank object with Deposit value it changes Deposit value for all other bank objects. I don't understand what I did wrong