コード例 #1
0
        public JumpersMenuPresenter(IJumpersMenuView view, CompetitorsRuntime jumpers, FlagsData flagsData)
        {
            this.view      = view;
            this.jumpers   = jumpers;
            this.flagsData = flagsData;

            InitEvents();
            SetInitValues();
        }
コード例 #2
0
        public SavesMenuPresenter(ISavesMenuView view, SavesRuntime saves, CalendarsRuntime calendars, CompetitorsRuntime competitorsRuntime)
        {
            this.view               = view;
            this.saves              = saves;
            this.calendars          = calendars;
            this.competitorsRuntime = competitorsRuntime;

            InitEvents();
            SetInitValues();
        }
コード例 #3
0
        public GameSave(string name, Calendar calendar, CompetitorsRuntime competitorsRuntime)
        {
            this.name        = name;
            resultsContainer = new ResultsDatabase();
            this.calendar    = calendar;

            resultsContainer.eventResults          = new EventResults[calendar.events.Count];
            resultsContainer.classificationResults =
                new ClassificationResults[calendar.classifications.Count];

            for (var i = 0; i < resultsContainer.classificationResults.Length; i++)
            {
                resultsContainer.classificationResults[i] = new ClassificationResults();
            }

            classificationsData = calendar.classifications.Select((it, ind) =>
                                                                  new ClassificationData {
                useBib = false, calendarId = ind, priority = ind, classification = it
            })
                                  .ToList();

            var teamsDict = calendar.teams.Select((it, ind) => (it.countryCode, ind))
                            .ToDictionary(it => it.countryCode, it => it.ind);

            competitors = calendar.competitorsIds.Select((item, index) =>
                                                         new CompetitorData
            {
                calendarId = index, registered = true, competitor = competitorsRuntime.GetJumperById(item),
                teamId     = teamsDict[competitorsRuntime.GetJumperById(item).countryCode]
            })
                          .ToList();

            var competitorsByCountry = competitors.ToLookup(it => it.competitor.countryCode, it => it);

            teams = calendar.teams.Select((item, index) => new TeamData
            {
                calendarId  = index, registered = true, team = item,
                competitors = competitorsByCountry[item.countryCode].Select((it, ind) => new CompetitorData
                {
                    calendarId = it.calendarId, teamId = ind, competitor = it.competitor, registered = it.registered
                })
                              .ToList()
            }).ToList();

            for (int i = 0; i < calendar.classifications.Count; i++)
            {
                resultsContainer.classificationResults[i] = new ClassificationResults();
                var cnt = calendar.classifications[i].eventType == EventType.Individual
                    ? calendar.competitorsIds.Count
                    : calendar.teams.Count;
                resultsContainer.classificationResults[i].rank               = Enumerable.Repeat(1, cnt).ToList();
                resultsContainer.classificationResults[i].totalResults       = Enumerable.Repeat(0m, cnt).ToList();
                resultsContainer.classificationResults[i].totalSortedResults = Enumerable.Range(0, cnt).ToList();
            }
        }
コード例 #4
0
        public CalendarEditorJumpersPresenter(ICalendarEditorJumpersView view, CompetitorsRuntime jumpers,
                                              FlagsData flagsData, CalendarFactory calendarFactory)
        {
            this.view            = view;
            this.jumpers         = jumpers;
            this.flagsData       = flagsData;
            this.calendarFactory = calendarFactory;

            InitEvents();
            SelectJumpers();
            PresentList();
        }