Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }
        }