Esempio n. 1
0
 /// <summary>
 ///     sets the car status in garage to Enums.eStatusInGarage.InRepair
 /// </summary>
 /// <param name="i_OwnerName"></param>
 /// <param name="i_OwnerPhone"></param>
 /// <param name="i_VehicleType"></param>
 /// <param name="i_EnergySourceType"></param>
 /// <param name="i_CurrentEnergyAmount"></param>
 /// <param name="i_VehicleModelName"></param>
 /// <param name="i_WheelsManufacturerName"></param>
 /// <param name="i_LicensePlate"></param>
 /// <param name="i_CurrentAirPressure"></param>
 /// <param name="i_SpecificVehicleParams">
 ///     used in case of extra params thats relevant to specific vehicle type (see
 ///     example)
 /// </param>
 /// <example>
 ///     GarageManager garageManager = new GarageManager();
 ///     string owner = "Yossi";
 ///     string phoneNumber = "050-1234567";
 ///     VehicleCreation.eVehicleType vehicleType =VehicleCreation.eVehicleType.Car;
 ///     VehicleCreation.eEnergySourceType energySourceType = VehicleCreation.eEnergySourceType.Fuel;
 ///     float currentEnergyAmount = 40.0f;
 ///     string vehicleModelName = "KIA";
 ///     string wheelsManufacturerName = "Michelin";
 ///     string licensePlate = "12-345-67";
 ///     float currentAirPressure = 20.0f;
 ///     object[] specificCarParams  = new object[2];
 ///     specificCarParams[(int)VehicleCreation.eCarSpecificParams.CarColor] = Enums.eCarColor.Red;
 ///     specificCarParams[(int)VehicleCreation.eCarSpecificParams.NumberOfDoors] = Enums.eNumberOfDoors.Four;
 ///     garageManager.EnterVehicleToGarage(owner,phoneNumber, vehicleType, energySourceType, currentEnergyAmount,
 ///     vehicleModelName, wheelsManufacturerName, licensePlate, currentAirPressure, specificCarParams);
 /// </example>
 public void EnterVehicleToGarage(string i_OwnerName, string i_OwnerPhone,
                                  VehicleCreation.eVehicleType i_VehicleType,
                                  VehicleCreation.eEnergySourceType i_EnergySourceType,
                                  float i_CurrentEnergyAmount, string i_VehicleModelName, string i_WheelsManufacturerName,
                                  string i_LicensePlate, float i_CurrentAirPressure,
                                  params object[] i_SpecificVehicleParams)
 {
     if (!r_VehiclesDictionaryByLicensePlate.ContainsKey(i_LicensePlate))
     {
         //new vehicle
         VehicleInGarageInfo newVehicleInGarageInfo = new VehicleInGarageInfo(i_OwnerName, i_OwnerPhone,
                                                                              Enums.eStatusInGarage.InRepair);
         Vehicle newVehicle = VehicleCreation.CreateNewVehicle(i_VehicleType,
                                                               i_EnergySourceType, i_CurrentEnergyAmount, i_VehicleModelName, i_WheelsManufacturerName,
                                                               i_LicensePlate, i_CurrentAirPressure,
                                                               i_SpecificVehicleParams);
         r_VehiclesDictionaryByLicensePlate.Add(i_LicensePlate, newVehicle);
         r_VehiclesInGarageInfo.Add(newVehicle, newVehicleInGarageInfo);
     }
     else
     {
         //existing vehicle
         r_VehiclesInGarageInfo[r_VehiclesDictionaryByLicensePlate[i_LicensePlate]].StatusInGarage =
             Enums.eStatusInGarage.InRepair;
     }
 }
        public static void InsertNewVehicleToGarage(VehicleCreation.eVehicleTypes i_CreateVehicle, string i_VehicleModelName, string i_VehicleLicenceId, string i_WheelManufacturerName, float i_CurrentWheelPressure, string i_VehicleFirstParameter, string i_VehicleSecondParameter, string i_VehicleOwnerName, string i_VehicleOwnerPhone)
        {
            Vehicle      newVehicle   = VehicleCreation.CreateVehicle(i_CreateVehicle, i_VehicleModelName, i_VehicleLicenceId, i_WheelManufacturerName, i_VehicleFirstParameter, i_VehicleSecondParameter);
            VehicleOwner VehicleOwner = new VehicleOwner(i_VehicleOwnerName, i_VehicleOwnerPhone);

            newVehicle.UpdateAllCurrentWheelPressureOfVehicle(i_CurrentWheelPressure);

            sr_DictuonaryOfVehicleAndTheirOwners.Add(newVehicle, VehicleOwner); // Add to the 'VehicleGarage' dictionary
        }