private void BtnOk_Click(object sender, EventArgs e) { GameInfo = new Models.GameInfo() { Name = TbName.Text, SubId = (int)NumSubId.Value }; DialogResult = DialogResult.OK; Close(); }
public AddGameDialog(Models.GameInfo gameInfo) : this() { if (gameInfo == null) { return; } GameInfo = gameInfo; TbName.Text = gameInfo.Name; NumSubId.Value = gameInfo.SubId; }
private void BtnLoadIds_Click(object sender, EventArgs e) { Logger.Trace($"void {nameof(BtnLoadIds_Click)}();"); openFileDialog1.Filter = "All supported|*.txt;*.json|Text file|*.txt|JSON file|*.json|Try to parse from any type|*.*"; openFileDialog1.Title = "Load game sub IDs"; if (openFileDialog1.ShowDialog() != DialogResult.OK) { return; } Logger.Trace($"Selected id's file: {openFileDialog1.FileName}"); var fileData = System.IO.File.ReadAllText(openFileDialog1.FileName); Configuration.Games.GamesToAdd = Configuration.Games.GamesToAdd ?? new Models.GameInfo[0]; try { var games = Newtonsoft.Json.JsonConvert.DeserializeObject <IEnumerable <Models.GameInfo> >(fileData); var _temp = Configuration.Games.GamesToAdd.ToList(); games = games.Where(x => !_temp.Any(g => g.Equals(x))); _temp.AddRange(games); Configuration.Games.GamesToAdd = _temp; } catch (Newtonsoft.Json.JsonException jEx) { Logger.Error("JSON exception was thrown... It's probably file don't contains JSON data. Trying to parse it...", jEx); try { var matches = Regex.Matches(fileData, @"(\d+):(.*)", RegexOptions.IgnoreCase); foreach (Match match in matches) { try { var game = new Models.GameInfo() { SubId = int.Parse(match.Groups[1].Value), Name = match.Groups[2].Value }; if (!Configuration.Games.GamesToAdd.Any(x => x.Equals(game))) { Configuration.Games.GamesToAdd = Configuration.Games.GamesToAdd.Append(game); } } catch (Exception cEx) { Logger.Error("Parsing error (in foreach)!", cEx); } } } catch (Exception ex) { Logger.Error("Parsing via regexp. error!", ex); } } catch (Exception ex) { Logger.Error("Parsing error!", ex); } Logger.Trace($"Updating {nameof(ListGames)}... Count of games: {Configuration.Games.GamesToAdd.Count()}"); ListGames.UpdateItems(Configuration.Games.GamesToAdd); }