DLaB.EarlyBoundGenerator.Settings.EarlyBoundGeneratorConfig.AddPipeDelimitedMissingDefaultValues C# (CSharp) Method

AddPipeDelimitedMissingDefaultValues() private method

private AddPipeDelimitedMissingDefaultValues ( string value, string @default ) : string
value string
@default string
return string
        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);
            }
        }