public void TopUpBalance() { Console.WriteLine("Write id of your car: "); var id = Convert.ToInt32(Console.ReadLine()); int index = Instance.ListOfCars.FindIndex(car => car.Id == Convert.ToInt32(Console.ReadLine())); Console.WriteLine("Write count of money for adding to balance of your car: "); double money = Convert.ToDouble(Console.ReadLine()); if (Instance.ListOfCars[index].Fine == 0) { Instance.ListOfCars[index].Balance += money; } else { if (money <= Instance.ListOfCars[index].Fine) { Instance.ListOfCars[index].Fine -= money; Income += money; ListOfTransactions.Add(new Transaction(id, money)); } else { Income += Instance.ListOfCars[index].Fine; ListOfTransactions.Add(new Transaction(id, Instance.ListOfCars[index].Fine)); Instance.ListOfCars[index].Balance += money - Instance.ListOfCars[index].Fine; Instance.ListOfCars[index].Fine = 0; } } Console.WriteLine("Balance of your car was changed successfully!"); }
private void Transaction(object obj) { var id = (int)obj; var indexOfCar = ListOfCars.FindIndex(car => car.Id == id); double priceOfTrans = _settings.Prices[ListOfCars[indexOfCar].Type]; if (priceOfTrans > ListOfCars[indexOfCar].Balance) { priceOfTrans *= _settings.Fine; ListOfCars[indexOfCar].Fine += priceOfTrans; } else { ListOfCars[indexOfCar].Balance -= priceOfTrans; Income += priceOfTrans; ListOfTransactions.Add(new Transaction(id, priceOfTrans)); } }
/// <summary> /// Write off funds /// </summary> public void WriteOffFunds() { DateTime dateTimeNow = DateTime.Now; foreach (Car item in ListOfCars) { double writtenOffFunds; if (item.Balance >= 0) { writtenOffFunds = Settings.ParkingPrices[item.CarType]; } else { writtenOffFunds = Settings.Fine * Settings.ParkingPrices[item.CarType]; } item.Balance -= writtenOffFunds; ListOfTransactions.Add(new Transaction(dateTimeNow, item.Id, writtenOffFunds)); Balance += writtenOffFunds; } }