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); } }