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 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); }