public void PopulateConnectionStringsFromYamlIfMissing()
        {
            var logger = LogManager.GetCurrentClassLogger();

            if (!NoConnectionStringsSpecified())
            {
                logger.Info("Connection string options have been specified on command line, yaml config values will be ignored");
                return;
            }

            string assemblyFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            var    yaml           = Path.Combine(assemblyFolder, ConnectionStringsFile);

            if (File.Exists(yaml))
            {
                try
                {
                    var cstrs = ConnectionStringsYamlFile.LoadFrom(new FileInfo(yaml));
                    CatalogueConnectionString  = cstrs.CatalogueConnectionString;
                    DataExportConnectionString = cstrs.DataExportConnectionString;

                    ConnectionStringsFileLoaded = cstrs;
                }
                catch (Exception ex)
                {
                    logger.Error(ex, "Failed to read yaml file '" + yaml + "'");
                }
            }
        }
 public static bool TryLoadFrom(FileInfo f, out ConnectionStringsYamlFile result)
 {
     try
     {
         result = LoadFrom(f);
         return(true);
     }
     catch (Exception)
     {
         result = null;
         return(false);
     }
 }