public static T Read <T>() where T : class, new() { T t = default(T); bool isClearText = true; string filename = String.Empty; string s = GetModelName <T>().ToLower(); var folderpath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); DirectoryInfo directory = new DirectoryInfo(folderpath); if (directory.Exists) { bool b = false; var files = directory.GetFiles(); for (int i = 0; !b && i < files.Count(); i++) { var file = files[i]; string name = file.Name.ToLower(); string extension = file.Extension.ToLower(); if (name.Contains(s)) { filename = name; isClearText = extension.Equals(".xml", StringComparison.OrdinalIgnoreCase); b = true; } } if (b) { string filepath = Path.Combine(folderpath, filename); if (isClearText) { t = GenericSerializer.ReadGenericItem <T>(filepath); } else { t = GenericSerializer.ReadGenericItemBinary <T>(filepath); } } } return(t); }
static SqlResolver() { List <XF.Common.Db.DbConfig> list = new List <Db.DbConfig>(); string[] filepaths = null; // look for dbConfigs in special folder if (Directory.Exists(eXtensibleConfig.DbConfigs)) { filepaths = Directory.GetFiles(eXtensibleConfig.DbConfigs, "*.dbconfig.xml", SearchOption.AllDirectories); } if (filepaths == null) { filepaths = Directory.GetFiles(eXtensibleConfig.BaseDirectory, "$.dbconfig.xml", SearchOption.TopDirectoryOnly); } if (filepaths != null && filepaths.Length > 0) { foreach (var filepath in filepaths) { if (File.Exists(filepath)) { try { var config = GenericSerializer.ReadGenericItem <XF.Common.Db.DbConfig>(filepath); list.Add(config); } catch (Exception ex) { EventWriter.WriteError(ex.Message, SeverityType.Error, "DataAccess", eXtensibleConfig.GetProperties()); EventWriter.Inform(String.Format("Unable to load: ", filepath)); } } } } Configs = new Db.DbConfigCollection(); foreach (var item in list) { Configs.Add(item); } }