Beispiel #1
0
        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!");
        }
Beispiel #2
0
        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));
            }
        }
Beispiel #3
0
        /// <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;
            }
        }