bool OtherEquipmentDefinition_Impl::setWattsperPerson(boost::optional<double> wattsperPerson) {
   bool result = false;
   if (wattsperPerson) {
     result = setString(OS_OtherEquipment_DefinitionFields::DesignLevelCalculationMethod,"Watts/Person");
     OS_ASSERT(result);
     setDesignLevel(boost::none);
     result = setWattsperSpaceFloorArea(boost::none);
     OS_ASSERT(result);
     result = setDouble(OS_OtherEquipment_DefinitionFields::WattsperPerson, wattsperPerson.get());
   } else {
     result = setString(OS_OtherEquipment_DefinitionFields::WattsperPerson, "");
   }
   return result;
 }
bool SteamEquipmentDefinition_Impl::setDesignLevel(boost::optional<double> designLevel) {
    bool result = false;
    if (designLevel) {
        result = setDouble(OS_SteamEquipment_DefinitionFields::DesignLevel, designLevel.get());
        if (result) {
            result = setString(OS_SteamEquipment_DefinitionFields::DesignLevelCalculationMethod,"EquipmentLevel");
            OS_ASSERT(result);
            result = setWattsperSpaceFloorArea(boost::none);
            OS_ASSERT(result);
            result = setWattsperPerson(boost::none);
            OS_ASSERT(result);
        }
    } else {
        result = setString(OS_SteamEquipment_DefinitionFields::DesignLevel, "");
    }
    return result;
}
bool SteamEquipmentDefinition_Impl::setDesignLevelCalculationMethod(const std::string& method,
        double floorArea,
        double numPeople)
{
    std::string wmethod(method);
    boost::to_lower(wmethod);

    if (wmethod == "equipmentlevel") {
        return setDesignLevel(getDesignLevel(floorArea,numPeople));
    }
    else if (wmethod == "watts/area") {
        return setWattsperSpaceFloorArea(getPowerPerFloorArea(floorArea,numPeople));
    }
    else if (wmethod == "watts/person") {
        return setWattsperPerson(getPowerPerPerson(floorArea,numPeople));
    }

    return false;
}