コード例 #1
0
        public void GetByGroup()
        {
            List <Competitors> competitors = CompetitorsContainer.GetAgeGroupCompetitorsInCompetition(View.SelectedCompetitionId, View.SelectedAgeGroup);
            List <CompetitorsWithSubgroups> competitorsWithSubgroups = new List <CompetitorsWithSubgroups>();
            int subgroupCount  = View.SelectedSubgroupCount;
            int subgroupLength = 0;

            subgroupLength = competitors.Count / subgroupCount;

            while (subgroupLength * subgroupCount < competitors.Count)
            {
                subgroupLength++;
            }

            int subgroup = 1;
            int index    = 1;

            foreach (Competitors c in competitors)
            {
                if (index > subgroupLength)
                {
                    index = 1;
                    subgroup++;
                }

                competitorsWithSubgroups.Add(new CompetitorsWithSubgroups(c, subgroup));
                index++;
            }
            View.Competitors = competitorsWithSubgroups;
        }
コード例 #2
0
        public void GetAllResults()
        {
            List <CompetitionEvents>      competitionEvents = CompetitionEventsContainer.CompetitionEvents.Where(e => e.CompetitionId == View.CompetitionId).ToList();
            List <AgeGroupEvents>         ageGroupEvents    = EventsContainer.GetEventsInCompetition(View.AgeGroupSelected, View.CompetitionId);
            List <Competitors>            competitors       = CompetitorsContainer.GetAgeGroupCompetitorsInCompetition(View.CompetitionId, View.AgeGroupSelected);
            List <Models.Objects.Results> resultsList       = new List <Models.Objects.Results>();

            List <Events> events = EventsContainer.Events.ToList();

            DataTable dt = new DataTable();

            dt.Columns.Add("ID");
            dt.Columns.Add("Vardas");
            dt.Columns.Add("Pavardė");

            foreach (AgeGroupEvents e in ageGroupEvents)
            {
                string eventName = EventsContainer.Events.Where(evt => evt.Id == e.EventId).Single().Title;

                int eventTypeValue = events.Where(et => et.Id == e.EventId).ToList()[0].Type;
                List <Models.Objects.Results> results = ResultsContainer.Results.Where(r => r.CompetitionId == View.CompetitionId && r.AgeGroupType == e.AgeGroupType &&
                                                                                       r.EventId == e.EventId).ToList();
                EventTypes eventType = EventTypes.EventTypes.Where(t => t.Id == eventTypeValue).ToList()[0];
                resultsList.AddRange(CalculateResults(results, eventType));

                dt.Columns.Add(eventName);
                dt.Columns.Add(eventName + ": rezultatas");
            }

            dt.Columns.Add("Suma");

            int ageGroupId = AgeGroupTypesContainer.AgeGroupTypes.Where(t => t.Type.Equals(View.AgeGroupSelected)).Single().Id;
            List <Models.Objects.Results> finalResults = ResultsContainer.GetWinnerList(View.CompetitionId, ageGroupId);

            finalResults = finalResults.OrderBy(r => r.Points).ToList();

            for (int i = 0; i < finalResults.Count; i++)
            {
                string name    = competitors.Where(c => c.Id == finalResults[i].CompetitorId).Single().Name;
                string surname = competitors.Where(c => c.Id == finalResults[i].CompetitorId).Single().Surname;

                List <Models.Objects.Results> eventsResultsCompetitor = resultsList.Where(r => r.CompetitorId == finalResults[i].CompetitorId).ToList();

                double?sum = finalResults[i].Points;

                int size = 4 + (eventsResultsCompetitor.Count() * 2);

                object[] values = new object[size];

                values[0] = finalResults[i].CompetitorId;
                values[1] = name;
                values[2] = surname;

                int index = 3;
                foreach (Models.Objects.Results r in eventsResultsCompetitor)
                {
                    values[index] = r.Result;
                    index++;
                    values[index] = r.Points;
                    index++;
                }

                values[index] = sum;

                dt.Rows.Add(values);
            }
            View.Results = dt;
        }