public void retrieveFields() { CurrentResultDelegate currentResultDelegate = new CurrentResultDelegate(currentResult); FinalResultDelegate finalResultDelegate = new FinalResultDelegate(finalResult); PreferencesSettings settings = GlobalSettings.getSettings().curPreferencesSettings; List <string> name_substrings = new List <string>(); bool empty_name = globalFuncs.multiEntryTextBox(ref name_substrings, searchUI.name); List <string> nationality_substrings = new List <string>(); bool empty_nationality = globalFuncs.multiEntryTextBox(ref nationality_substrings, searchUI.nation); List <string> stadium_substrings = new List <string>(); bool empty_stadium = globalFuncs.multiEntryTextBox(ref stadium_substrings, searchUI.stadium); TEAMSTATE teamState = TEAMSTATE.TS_NONNATIONAL; TeamGridViewModel newRow; DateTime timerStart = DateTime.Now; Club club = null; string clubName = ""; string clubNationality = ""; string clubStadium = ""; double counter = 0; double total = 100.0 / (double)globalFuncs.allClubs.Count; foreach (DictionaryEntry entry in globalFuncs.allClubs) { progressBarValue = counter * total; ++counter; if (stopSearching) { searching = false; stopSearching = false; break; } club = (Club)entry.Value; // check empty name if (club.Name.Length == 0 && club.Country != null) { System.Diagnostics.Debug.WriteLine(club.Name); } if (club.Name.Length == 0 && club.Country != null) { continue; } // check name if (!empty_name) { clubName = club.Name.ToLower(); globalFuncs.specialCharactersReplacement(ref clubName); int no_of_successes = 0; foreach (string str in name_substrings) { if (clubName.Contains(str)) { ++no_of_successes; } } if (no_of_successes != name_substrings.Count) { continue; } } teamState = TEAMSTATE.TS_NONNATIONAL; if (club.Country != null) { if (globalFuncs.localization.regionsNative.Contains(club.Country.Name)) { teamState = TEAMSTATE.TS_NATIONAL; } } // check nationality if (!empty_nationality) { if (club.Country != null) { if (teamState == TEAMSTATE.TS_NONNATIONAL) { clubNationality = club.Country.Name.ToLower(); } else { clubNationality = club.Name.ToLower(); } int no_of_successes = 0; foreach (string str in nationality_substrings) { if (clubNationality.Contains(str)) { ++no_of_successes; } } if (no_of_successes != nationality_substrings.Count) { continue; } if (teamState == TEAMSTATE.TS_NATIONAL) { clubNationality = club.Country.Name.ToLower(); } } else { globalFuncs.logging.update("Error: Not added " + club.Name + ". Reason: Country null"); } } // check type if (searchUI.teamtypeIndex > 0) { if (searchUI.teamtypeIndex == 1 && teamState == TEAMSTATE.TS_NONNATIONAL) { continue; } else if (searchUI.teamtypeIndex == 2 && teamState == TEAMSTATE.TS_NATIONAL) { continue; } } int curTeam = 0; //for (curTeam = 0; curTeam < club.Teams.Count; ++curTeam) //{ // if (club.Teams[curTeam].Type == TeamTypeEnum.First) // break; // else if (club.Teams[curTeam].Type == TeamTypeEnum.Amateur) // break; // //else if (club.Teams[curTeam].Type == TeamTypeEnum.Empty) // // break; //} if (curTeam == club.Teams.Count) { --curTeam; } if (curTeam < 0) { continue; } // check reputation if (searchUI.reputationIndex > 0) { if (searchUI.reputationIndex == 1 && club.Teams[curTeam].Reputation < 8000) { continue; } else if (searchUI.reputationIndex == 2 && (!(club.Teams[curTeam].Reputation > 5000 && club.Teams[curTeam].Reputation <= 8000))) { continue; } else if (searchUI.reputationIndex == 3 && (!(club.Teams[curTeam].Reputation > 3000 && club.Teams[curTeam].Reputation <= 5000))) { continue; } else if (searchUI.reputationIndex == 4 && (!(club.Teams[curTeam].Reputation > 0 && club.Teams[curTeam].Reputation <= 3000))) { continue; } } // check region if (searchUI.regionIndex > 0 && club.Country != null) { if (teamState == TEAMSTATE.TS_NONNATIONAL) { if (!searchUI.regionItem.Contains(club.Country.Continent.Name)) { continue; } } else { if (!searchUI.regionItem.Contains(club.Country.Name)) { continue; } } } // check stadium if (!empty_stadium) { if (club.Teams[curTeam].Stadium != null) { clubStadium = club.Teams[curTeam].Stadium.Name.ToLower(); globalFuncs.specialCharactersReplacement(ref clubStadium); int no_of_successes = 0; foreach (string str in stadium_substrings) { if (clubStadium.Contains(str)) { ++no_of_successes; } } if (no_of_successes != stadium_substrings.Count) { continue; } } else { globalFuncs.logging.update("Error: No stadium found for " + club.Name); continue; } } // check transfer budget if (searchUI.transferBudgetMin > 0) { if (club.Finances.SeasonTransferBudget < searchUI.transferBudgetMin || club.Finances.SeasonTransferBudget > searchUI.transferBudgetMax) { continue; } } else { if (club.Finances.SeasonTransferBudget > searchUI.transferBudgetMax) { continue; } } if (searchUI.transferBudgetMin > 0) { if (club.Finances.WageBudget < searchUI.wageBudgetMin || club.Finances.WageBudget > searchUI.wageBudgetMax) { continue; } } else { if (club.Finances.WageBudget < searchUI.wageBudgetMin) { continue; } } newRow = new TeamGridViewModel(); newRow.TeamState = teamState; addTeamToGrid(club, ref newRow, curTeam); //dataTable.Add(newRow); this.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, currentResultDelegate, newRow); } this.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, finalResultDelegate); }
public void retrieveFieldsWonder() { CurrentResultDelegate currentResultDelegate = new CurrentResultDelegate(currentResultWonder); FinalResultDelegate finalResultDelegate = new FinalResultDelegate(finalResultWonder); PreferencesSettings settings = GlobalSettings.getSettings().curPreferencesSettings; TEAMSTATE teamState = TEAMSTATE.TS_NONNATIONAL; TeamGridViewModel newRow; DateTime timerStart = DateTime.Now; double counter = 0; double total = 100.0 / (double)globalFuncs.allClubs.Count; foreach (DictionaryEntry entry in globalFuncs.allClubs) { progressBarValue = counter * total; ++counter; if (stopSearching) { searching = false; stopSearching = false; break; } Club club = (Club)entry.Value; // check empty name if (club.Name.Length == 0) { continue; } int curTeam = 0; //for (curTeam = 0; curTeam < club.Teams.Count; ++curTeam) //{ // if (club.Teams[curTeam].Type == TeamTypeEnum.First) // break; // else if (club.Teams[curTeam].Type == TeamTypeEnum.Amateur) // break; // //else if (club.Teams[curTeam].Type == TeamTypeEnum.Empty) // // break; //} if (curTeam == club.Teams.Count) { --curTeam; } teamState = TEAMSTATE.TS_NONNATIONAL; if (club.Country != null) { if (globalFuncs.localization.regionsNative.Contains(club.Country.Name)) { teamState = TEAMSTATE.TS_NATIONAL; } } // check reputation if (club.Teams[curTeam].Reputation <= settings.wonderteamsMinRep) { continue; } newRow = new TeamGridViewModel(); newRow.TeamState = teamState; addTeamToGrid(club, ref newRow, curTeam); //dataTable.Add(newRow); this.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, currentResultDelegate, newRow); } this.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, finalResultDelegate); }
public void loadShortlistPlayers(ref List <int> playersID) { CurrentResultDelegate currentResultDelegate = new CurrentResultDelegate(currentResult); FinalResultDelegate finalResultDelegate = new FinalResultDelegate(finalResult); List <string> player_positions = new List <string>(); List <string> player_sides = new List <string>(); PLAYERCLUBSTATE playerClubState = PLAYERCLUBSTATE.PCS_FREE; PLAYEREUSTATE playerEUState = PLAYEREUSTATE.PES_NONEU; PlayerGridViewModel newRow; List <String> playerNationalities = new List <String>(); String playerClub = ""; Contract contract = null; double counter = 0; double total = 100.0 / (double)context.fm.Players.Count(); // remove duplicate rows for (int i = 0; i < playersID.Count; ++i) { if (context.shortlistIDList.Contains(playersID[i])) { playersID.Remove(playersID[i]); } } foreach (Player _player in context.fm.Players) { progressBarValue = counter * total; ++counter; Player player = null; for (int i = 0; i < playersID.Count; ++i) { // check ID player = null; if (_player.ID.Equals(playersID[i])) { if (!context.shortlistIDList.Contains(_player.ID)) { player = _player; playersID.RemoveAt(i); break; } } } if (player != null) { // check position string playerPosition = ""; context.find_player_position(player, ref playerPosition, ref player_positions, ref player_sides, true); // check club playerClub = globalFuncs.localization.SearchingResults[ScoutLocalization.SR_FREEPLAYER]; playerClubState = PLAYERCLUBSTATE.PCS_FREE; context.findPlayerContractQuery(player, ref contract, ref playerClub, ref playerClubState); // check nation playerNationalities.Clear(); playerNationalities.Add(player.Nationality.Name); // other nationalities List <PlayerRelations> relations = player.Relations.Relations; if (player.Relations != null) { for (int playerRelationIndex = 0; playerRelationIndex < player.Relations.RelationsTotal; ++playerRelationIndex) { if (relations[playerRelationIndex].RelationType == RelationType.OtherNationality) { playerNationalities.Add(relations[playerRelationIndex].Country.Name); } } } // check EU playerEUState = PLAYEREUSTATE.PES_NONEU; for (int i = 0; i < playerNationalities.Count; ++i) { if (globalFuncs.EUcountries.Contains(playerNationalities[i])) { playerEUState = PLAYEREUSTATE.PES_EU; break; } } newRow = new PlayerGridViewModel(); newRow.EUState = playerEUState; newRow.ClubState = playerClubState; addShortlistPlayerToGrid(player, ref newRow, ref playerPosition, ref playerClub, ref playerNationalities); this.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, currentResultDelegate, newRow); } } this.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, finalResultDelegate); }