public bool ChangeVeichleStatus(string i_LisenceNumber, eVehicleStatus i_NewStatus)
        {
            bool isExists = m_VehiclesInfo.ContainsKey(i_LisenceNumber);

            if (isExists)
            {
                VehicleInfoInGarage vehicleData = m_VehiclesInfo[i_LisenceNumber];
                vehicleData.Status = i_NewStatus;
                m_VehiclesInfo[i_LisenceNumber] = vehicleData;
            }
            else
            {
                throw new LisenceNumberNotFoundException(i_LisenceNumber);
            }

            return(isExists);
        }
        // public bool ReFuel(string i_LisenceNumber, eCarStatus i_GasTypeToAdd, float i_AmountOfGasToAdd)
        // {
        //     bool isExists = m_VehiclesInfo.ContainsKey(i_LisenceNumber);
        //     bool vehicleCanBeReFuel = false;
        //     if (isExists)
        //     {
        //         Engine tank = m_VehiclesInfo[i_LisenceNumber].Vehicle.Engine;
        //         if (tank is GasEngine)
        //         {
        //             tank.Refuel(i_GasTypeToAdd, i_AmountOfGasToAdd);
        //         }
        //     }
        //     else
        //     {
        //         throw new LisenceNumberNotFoundException(i_LisenceNumber);
        //     }
        //
        //     return vehicleCanBeReFuel;
        // }
        //
        // public bool Charge(string i_LisenceNumber, float i_AmountOfMinutesToAdd)
        // {
        //     bool isExists = m_VehiclesInfo.ContainsKey(i_LisenceNumber);
        //     bool vehicleCanBeCharge = false;
        //     if (isExists)
        //     {
        //         Vehicle vehicle = m_VehiclesInfo[i_LisenceNumber].Vehicle;
        //         vehicleCanBeCharge = vehicle.CanBeCharge;
        //         if (vehicleCanBeCharge)
        //         {
        //             vehicle.Charge(i_AmountOfMinutesToAdd);
        //         }
        //     }
        //     else
        //     {
        //         throw new LisenceNumberNotFoundException(i_LisenceNumber);
        //     }
        //
        //     return vehicleCanBeCharge;
        // }
        public bool ShowVehicleData(string i_LisenceNumber)
        {
            bool isExists = m_VehiclesInfo.ContainsKey(i_LisenceNumber);

            i_dataToShowToUser.Clear();
            if (isExists)
            {
                VehicleInfoInGarage vehicleInfo = m_VehiclesInfo[i_LisenceNumber];
                Console.WriteLine(vehicleInfo.ToString());
            }
            else
            {
                throw new LisenceNumberNotFoundException(i_LisenceNumber);
            }

            return(isExists);
        }
        public void AddNewCar(string i_LicesnseNumber, eVehiclesType i_VehicleType, Owner i_Owner)
        {
            bool isExists = m_VehiclesInfo.ContainsKey(i_LicesnseNumber);

            if (string.IsNullOrEmpty(i_LicesnseNumber))
            {
                throw new CarWithoutLisenceNumberException(i_Owner);
            }
            else if (isExists)
            {
                Console.WriteLine("Vehicle license-number {0} already exist", i_LicesnseNumber);
                ChangeVeichleStatus(i_LicesnseNumber, eVehicleStatus.InRepair);
            }
            else
            {
                Vehicle             vehicle    = m_VehiclesCreator.CreateNewVehicle(i_LicesnseNumber, i_VehicleType);
                VehicleInfoInGarage newVehicle = new VehicleInfoInGarage(i_Owner, vehicle);
                m_VehiclesInfo.Add(i_LicesnseNumber, newVehicle);
            }
        }