private string AddPipeDelimitedMissingDefaultValues(string value, string @default)
{
try
{
if (value == null || @default == null)
{
return @default ?? value;
}
var splitValues = value.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Trim()).ToList();
var hash = new HashSet<string>(splitValues);
splitValues.AddRange(@default.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries).
Where(key => !hash.Contains(key)));
return Config.ToString(splitValues);
}
catch (Exception ex)
{
throw new Exception("Error Processing config value: " + value, ex);
}
}