Skip to main content

GetEnvironmentVariableValueString

public string GetEnvironmentVariableValueString(string schemanameEnvVarDefinition)
{
tracingService.Trace("Calling GetEnvironmentVariableValueString");

// Retrieve Environment Variable Definition (i.e. default)
QueryExpression queryEnvVarDefinition = new QueryExpression("environmentvariabledefinition")
{
ColumnSet = new ColumnSet("defaultvalue", "environmentvariabledefinitionid")
};
queryEnvVarDefinition.Criteria.AddCondition("schemaname", ConditionOperator.Equal, schemanameEnvVarDefinition);

EntityCollection collectionEnvVarDefinition = crmService.RetrieveMultiple(queryEnvVarDefinition);

if (collectionEnvVarDefinition.Entities.Count != 1)
{
throw new Exception("Environment variable not found.");
}

Entity entityEnvVarDefinition = collectionEnvVarDefinition.Entities[0];
string defaultvalueEnvVarDefinition = entityEnvVarDefinition.GetAttributeValue<string>("defaultvalue");

// Retrieve Environment Variable Value (i.e. current)
QueryExpression queryEnvVarCurrentValue = new QueryExpression("environmentvariablevalue")
{
ColumnSet = new ColumnSet("value")
};
queryEnvVarCurrentValue.Criteria.AddCondition("environmentvariabledefinitionid", ConditionOperator.Equal, entityEnvVarDefinition.Id);

EntityCollection collectionEnvVarCurrentValue = crmService.RetrieveMultiple(queryEnvVarCurrentValue);

if (collectionEnvVarCurrentValue.Entities.Count != 1)
{
// Return current value if it exists, otherwise return default value
return defaultvalueEnvVarDefinition;
}

Entity entityEnvVarCurrentValue = collectionEnvVarCurrentValue.Entities[0];
string valueEnvVarCurrentValue = entityEnvVarCurrentValue.GetAttributeValue<string>("value");

return valueEnvVarCurrentValue;
}