public void SetBaseVehicleRequiredParameters(string i_ParameterToSet, int i_ParameterIndex)
        {
            eVehicleRequiredParameters parameterIndex;

            Enum.TryParse <eVehicleRequiredParameters>(i_ParameterIndex.ToString(), out parameterIndex);
            switch (parameterIndex)
            {
            case eVehicleRequiredParameters.CarModel:
            {
                ModelName = i_ParameterToSet;
                break;
            }

            case eVehicleRequiredParameters.OwnerName:
            {
                m_OwnerDetailes      = new VehicleOwner();
                m_OwnerDetailes.Name = i_ParameterToSet;
                break;
            }

            case eVehicleRequiredParameters.OwnerPhoneNumber:
            {
                m_OwnerDetailes.PhoneNumber = i_ParameterToSet;
                break;
            }

            case eVehicleRequiredParameters.AmoutOfEnergyInPowerSource:
            {
                m_PowerSource.SetPowersourceCurrentValue(i_ParameterToSet);
                UpdatePercentageOfEnergy();
                break;
            }
            }
        }
 public virtual void RegisterClass()
 {
     m_Wheels    = new Wheel[1];
     m_Wheels[0] = new Wheel(0);
     m_Wheels[0].RegisterClass();
     m_PowerSource.RegisterClass();
     m_OwnerDetailes = new VehicleOwner();
     m_OwnerDetailes.RegisterClass();
     if (!BsonClassMap.IsClassMapRegistered(typeof(Vehicle)))
     {
         BsonClassMap.RegisterClassMap <Vehicle>(cm =>
         {
             cm.SetIdMember(cm.MapField(c => c.r_LicensePlateNumber).SetElementName("LicensePlateNumber"));
             cm.MapField(c => c.m_ModelName).SetElementName("ModelName");
             cm.MapField(c => c.m_OwnerDetailes).SetElementName("OwnerDetailes");
             cm.MapField(c => c.m_PercentageOfEnergy).SetElementName("PercentageOfEnergy");
             cm.MapField(c => c.m_PowerSource).SetElementName("PowerSource");
             cm.MapField(c => c.m_Status).SetElementName("Status").SetSerializer(new EnumSerializer <eRepairStatus>(BsonType.String));
             cm.MapField(c => c.m_Wheels).SetElementName("Wheels");
             cm.MapField(c => c.m_TimeOfEnteringToGarage).SetElementName("TimeOfEnteringToGarage");
         });
     }
 }