Example #1
0
 private void BtnOk_Click(object sender, EventArgs e)
 {
     GameInfo = new Models.GameInfo()
     {
         Name  = TbName.Text,
         SubId = (int)NumSubId.Value
     };
     DialogResult = DialogResult.OK;
     Close();
 }
Example #2
0
        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);
        }