Esempio n. 1
0
        public void addToContext(BaseObject obj, GridViewModel r)
        {
            int index = checkExists((int)r.ID);

            if (index == -1)
            {
                ProfileViewModel vm = null;
                if (obj is Player)
                {
                    vm = new ProfilePlayerViewModel();
                    Player player          = (Player)obj;
                    PlayerGridViewModel _r = (PlayerGridViewModel)r;
                    ((ProfilePlayerViewModel)vm).setProfileViewModel(ref player, ref _r);
                }
                else if (obj is Staff)
                {
                    vm = new ProfileStaffViewModel();
                    Staff staff           = (Staff)obj;
                    StaffGridViewModel _r = (StaffGridViewModel)r;
                    ((ProfileStaffViewModel)vm).setProfileViewModel(ref staff, ref _r);
                }
                else if (obj is Team)
                {
                    vm = new ProfileTeamViewModel();
                    Team team            = (Team)obj;
                    TeamGridViewModel _r = (TeamGridViewModel)r;
                    ((ProfileTeamViewModel)vm).setProfileViewModel(ref team, ref _r);
                }
                data.Add(vm);
                if (data.Count > 12)
                {
                    data.RemoveAt(0);
                }
            }
        }
 public void currentResultWonder(TeamGridViewModel newRow)
 {
     if (newRow != null)
     {
         dataTable.Add(newRow);
     }
     this.vm.results.Text = dataTable.Count + " " + globalFuncs.localization.SearchingResults[ScoutLocalization.SR_WONDERTEAMENTRIESFOUND] + ".";
     this.windowMain.vm.tabteams.TextBlockText = globalFuncs.localization.WindowMainLabels[2] +
                                                 " (" + dataTable.Count + ")";
 }
        private void dataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
        {
            TeamGridViewModel item = e.Row.Item as TeamGridViewModel;

            if (item != null)
            {
                if (finishedLoading)
                {
                    if (item.TeamState == TEAMSTATE.TS_NATIONAL)
                    {
                        e.Row.Foreground = App.Current.Resources["TeamNationalForeground"] as SolidColorBrush;
                    }
                }
            }
        }
        private void addToContext(int ID)
        {
            if (windowProfile == null)
            {
                return;
            }
            List <TeamGridViewModel> rows = new List <TeamGridViewModel>();

            for (int i = 0; i < this.dataGrid.SelectedItems.Count; ++i)
            {
                rows.Add((TeamGridViewModel)this.dataGrid.SelectedItems[i]);
            }

            foreach (DictionaryEntry entry in globalFuncs.allClubs)
            {
                Club club    = (Club)entry.Value;
                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;
                }

                TeamGridViewModel r = new TeamGridViewModel();
                this.addTeamToGrid(club, ref r, curTeam);
                windowProfile.addToContext(club.Teams[curTeam], r);
                break;
            }
            windowProfile.finishedAdding();
        }
        private void addToContext()
        {
            if (windowProfile == null)
            {
                return;
            }
            int selectedRows    = this.dataGrid.SelectedItems.Count;
            int curSelectedRows = 0;

            if (selectedRows > 0)
            {
                List <TeamGridViewModel> rows = new List <TeamGridViewModel>();
                for (int i = 0; i < this.dataGrid.SelectedItems.Count; ++i)
                {
                    rows.Add((TeamGridViewModel)this.dataGrid.SelectedItems[i]);
                }

                foreach (Team team in context.fm.Teams)
                {
                    int ID = team.ID;
                    for (int i = 0; i < rows.Count; ++i)
                    {
                        TeamGridViewModel r = rows[i];
                        if (ID == (int)rows[i].ID)
                        {
                            windowProfile.addToContext(team, r);
                            ++curSelectedRows;
                            break;
                        }
                    }
                    if (curSelectedRows > selectedRows)
                    {
                        break;
                    }
                }
                windowProfile.finishedAdding();
            }
        }
Esempio n. 6
0
 public void LoadTeamPage()
 {
     ActiveItem = new TeamGridViewModel();
     this.SetCreateMode(teamCommand);
 }
        public void addTeamToGrid(Club club, ref TeamGridViewModel newRow, int curTeam)
        {
            PreferencesSettings settings = GlobalSettings.getSettings().curPreferencesSettings;

            newRow.ID   = club.ID;
            newRow.Name = club.Name.ToString();
            if (club.Country == null)
            {
                newRow.Nation = club.Name;
            }
            else
            {
                newRow.Nation = club.Country.Name;
            }
            newRow.Reputation = club.Teams[curTeam].Reputation;
            newRow.Status     = club.ClubStatus.ToString();
            if (club.Teams[curTeam].Stadium != null)
            {
                newRow.Stadium           = club.Teams[curTeam].Stadium.Name;
                newRow.Decay             = club.Teams[curTeam].Stadium.Decay;
                newRow.FieldWidth        = club.Teams[curTeam].Stadium.FieldWidth;
                newRow.FieldLength       = club.Teams[curTeam].Stadium.FieldLength;
                newRow.CurrentCapacity   = club.Teams[curTeam].Stadium.StadiumCapacity;
                newRow.SeatingCapacity   = club.Teams[curTeam].Stadium.SeatingCapacity;
                newRow.ExpansionCapacity = club.Teams[curTeam].Stadium.ExpansionCapacity;
                newRow.UsedCapacity      = club.Teams[curTeam].Stadium.UsedCapacity;
            }
            else
            {
                newRow.Stadium           = " None";
                newRow.Decay             = 0;
                newRow.FieldWidth        = 0;
                newRow.FieldLength       = 0;
                newRow.CurrentCapacity   = 0;
                newRow.SeatingCapacity   = 0;
                newRow.ExpansionCapacity = 0;
                newRow.UsedCapacity      = 0;
            }

            if (club.Finances.RemainingTransferBudget != 29476012)
            {
                newRow.TransferBudget  = (int)(club.Finances.SeasonTransferBudget * settings.currencyMultiplier.multiplier);
                newRow.RemainingBudget = (int)(club.Finances.RemainingTransferBudget * settings.currencyMultiplier.multiplier);
                newRow.WageBudget      = (int)(club.Finances.WageBudget * settings.currencyMultiplier.multiplier);
                newRow.WageUsed        = (int)(club.Finances.UsedWage * settings.currencyMultiplier.multiplier);
            }
            else
            {
                newRow.TransferBudget  = 0;
                newRow.RemainingBudget = 0;
                newRow.WageBudget      = 0;
                newRow.WageUsed        = 0;
            }
            newRow.BudgetBalance            = (int)(club.Finances.Balance * settings.currencyMultiplier.multiplier);
            newRow.TransferRevenueAvailable = (int)(club.Finances.TransferRevenueMadeAvailable * 0.01f);
            newRow.CurrentAffiliatedClubs   = club.TeamNumber;
            newRow.MaxAffiliatedClubs       = club.MaxAffiliatedClubNumber;
            newRow.TrainingFacilities       = club.TrainingFacilities;
            newRow.YouthFacilities          = club.YouthFacilities;
            newRow.MaximumAttendance        = club.MaximumAttendance;
            newRow.AverageAttendance        = club.AverageAttendance;
            newRow.MinimumAttendance        = club.MinimumAttendance;
        }
        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);
        }