/// <summary />
        public static AccessProtocols LoadStandardAndCustom(string programDirectory)
        {
            if (_instance == null)
            {
                Load(programDirectory);
            }

            if (_customInstance == null)
            {
                LoadCustom();
            }

            AccessProtocols all = new AccessProtocols();

            if (_instance != null)
            {
                all.AddRange(_instance);
            }

            if (_customInstance != null)
            {
                all.AddRange(_customInstance);
            }

            return(all);
        }
        /// <summary />
        public static void SaveCustom(AccessProtocols customProtocols, string programDirectory)
        {
            var dataDirectory = string.IsNullOrEmpty(programDirectory) ? ArchivingFileSystem.SilCommonArchivingDataFolder : programDirectory;

            if (!Directory.Exists(dataDirectory))
            {
                throw new DirectoryNotFoundException(dataDirectory);
            }

            var fileName = Path.Combine(dataDirectory, kCustomProtocolFileName);

            using (FileStream stream = new FileStream(fileName, FileMode.Create))
            {
                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(AccessProtocols));
                ser.WriteObject(stream, customProtocols);
            }
        }
 /// <summary />
 public static AccessProtocols LoadCustom()
 {
     return(_customInstance ??
            (_customInstance = LoadFromFile(kCustomProtocolFileName, Resources.CustomAccessProtocols, null)));
 }
 /// <summary />
 public static AccessProtocols Load(string programDirectory)
 {
     return(_instance ?? (_instance = LoadFromFile(kProtocolFileName, Resources.AccessProtocols, programDirectory)));
 }
 /// <summary />
 public static void SaveCustom(AccessProtocols customProtocols)
 {
     SaveCustom(customProtocols, null);
 }