//private static readonly NLog.Logger log = NLog.LogManager.GetCurrentClassLogger(); #endregion Private Fields #region Public Constructors public DbSwitcherControl(ASVersion version) { InitializeComponent(); ConfigChanged += SetBtnStyles; Version = version; WorkingDir = AppDomain.CurrentDomain.BaseDirectory; ConfigEntries = ZConfigEntry.GetEntries(ConfigDir, Version); ComposeUI(); }
private Button CreateBtn(ZConfigEntry entry) { var box = new TextBlock() { Text = entry.Config.Name, TextWrapping = TextWrapping.Wrap, TextAlignment = TextAlignment.Center, VerticalAlignment = VerticalAlignment.Center }; var btn = new Button { Tag = entry, Content = box, Height = 50, Width = 120, Margin = new Thickness(10) }; btn.Click += SettingButtonClick; return(btn); }
public static List <ZConfigEntry> GetEntries(string dirpath, ASVersion version) { var files = Directory.GetFiles(dirpath); string pattern; string verstr; if ((int)version < 3000) { verstr = "AS" + ((int)version).ToString(); pattern = "(?<asversion>" + verstr + ")_(?<name>[A-Za-z_-]+).config.json$"; } else { verstr = "RVT" + ((int)version - 90000).ToString(); pattern = "(?<asversion>" + verstr + ")_(?<name>[A-Za-z_-]+).config.json$"; } var result = new List <ZConfigEntry>(); foreach (var filename in files) { var match = Regex.Match(filename, pattern); if (match.Success) { var jsonstr = File.ReadAllText(filename); ZConfigEntry entry = new ZConfigEntry { Version = version, FileName = filename, Name = Path.GetFileNameWithoutExtension(filename), Config = ZDbConfig.Deserialize(jsonstr) }; result.Add(entry); } } return(result); }