public static void FarmGame(string matchDescription, string squadDescription, int gameNumber, string _gameType, int _isHomeWin, string awayPlayers, string homePlayers) { int matchID = Convert.ToInt32(matchDescription.Replace("Match #", "")); if (arrBadMatches.Contains(matchID)) return; Campaign campaign = Campaign.GetCampaignFromMatch(matchID); Match match = new Match(matchDescription, squadDescription, campaign.ID); Squad AwaySquad = new Squad(); Squad HomeSquad = new Squad(); Squad.GetSquadsFromDesc(squadDescription, campaign, ref AwaySquad, ref HomeSquad); Game game = new Game(); game._GameType = Game.GetGameTypeFromString(_gameType); game.IsHomeWin = _isHomeWin == 1; game.GameNumber = gameNumber; SqlConnection connSql = new SqlConnection( Gravoc.Encryption.Encryption.Decrypt(Properties.Settings.Default.ConnectionString)); connSql.Open(); SqlCommand cmdSql = new SqlCommand("update match set awaySquad = @a, homeSquad = @h where id = @m", connSql); cmdSql.Parameters.AddWithValue("@m", matchID); cmdSql.Parameters.AddWithValue("@a", AwaySquad.SquadId); cmdSql.Parameters.AddWithValue("@h", HomeSquad.SquadId); cmdSql.ExecuteNonQuery(); connSql.Close(); awayPlayers.Split(new string[] {"|~|"}, StringSplitOptions.RemoveEmptyEntries); foreach (string playerName in awayPlayers.Split(new string[] { "|~|" }, StringSplitOptions.RemoveEmptyEntries)) { if (!AwaySquad.DartsPlayers.ContainsKey(playerName)) { int n = DartsPlayer.CreateDummyPlayer(playerName, AwaySquad.SquadId, match.MatchId); AwaySquad.DartsPlayers.Add(DartsPlayer.GetPlayer(n).Name, DartsPlayer.GetPlayer(n)); } if (!game.AwayDartsPlayers.Contains(AwaySquad.DartsPlayers[playerName])) game.AwayDartsPlayers.Add(AwaySquad.DartsPlayers[playerName]); else { arrBadMatches.Add(match.MatchId); match.MarkBadMatch(); return; } } foreach (string playerName in homePlayers.Split(new string[] { "|~|" }, StringSplitOptions.RemoveEmptyEntries)) { if (!HomeSquad.DartsPlayers.ContainsKey(playerName)) { int n = DartsPlayer.CreateDummyPlayer(playerName, HomeSquad.SquadId, match.MatchId); HomeSquad.DartsPlayers.Add(DartsPlayer.GetPlayer(n).Name, DartsPlayer.GetPlayer(n)); } if (!game.HomeDartsPlayers.Contains(HomeSquad.DartsPlayers[playerName])) game.HomeDartsPlayers.Add(HomeSquad.DartsPlayers[playerName]); else { arrBadMatches.Add(match.MatchId); match.MarkBadMatch(); return; } } game.CalculateAndCommitGame(match); }