Example #1
0
        private static int CompareName(DispParticipant k1, DispParticipant k2)
        {
            int result = CompareFullName(k1, k2);

            if (result == 0)
            {
                result = CompareEventGroup(k1, k2);
            }
            return(result);
        }
Example #2
0
 private static int CompareFullName(DispParticipant k1, DispParticipant k2)
 {
     return(k1.Name.CompareTo(k2.Name));
 }
Example #3
0
 private static int CompareEvent(DispParticipant k1, DispParticipant k2)
 {
     return(k1.OneEvent.EventSortKey.CompareTo(k2.OneEvent.EventSortKey));
 }
Example #4
0
 private static int CompareTime(DispParticipant k1, DispParticipant k2)
 {
     return(k1.OneEvent.TotalSeconds.CompareTo(k2.OneEvent.TotalSeconds));
 }
Example #5
0
        private void loadTeam(MARS_Meet_dbEntities meetDb, OneMeet oneMeet)
        {
            var athletes = from t in meetDb.mars_MTeams
                           join p in meetDb.mars_MParticipants on new { t.MeetId, t.TeamId } equals new { p.MeetId, p.TeamId }
            join m in meetDb.mars_MMarks on new { p.MeetId, p.ParticipantId } equals new { m.MeetId, m.ParticipantId }
            join e in meetDb.mars_MEventEntries on new { m.MeetId, m.EventEntryId } equals new { e.MeetId, e.EventEntryId }
            join g in meetDb.mars_MGroups on new { e.MeetId, e.GroupId } equals new { g.MeetId, g.GroupId }
            where t.MeetId == oneMeet.MeetId && t.TeamId == oneMeet.CurrentTeam.Id &&
            (oneMeet.CurrentDay == 0 || e.DayNo == oneMeet.CurrentDay) &&
            (oneMeet.CurrentGroupId == null || g.GroupId == oneMeet.CurrentGroupId)
            select new
            {
                p.ParticipantId,
                p.FullName,
                p.YearOfBirth,
                p.BibNo,
                e.EventEntryId,
                e.GroupId,
                e.EventId,
                e.RoundNo,
                e.NoOfRounds,
                e.DayNo,
                e.Seconds,
                e.Text,
                e.RoundText,
                e.State,
                GroupText    = g.Text,
                GroupSortKey = g.SortKey,
                EventSortKey = e.SortKeyEventId,
                m.MarkText,
                m.MarkCode,
                m.MarkRemark,
                m.Pos
            };

            var eventsInHeat0 = from ev in meetDb.mars_MEventEntries
                                where ev.MeetId == oneMeet.MeetId && ev.HeatGroupNo == 0 &&
                                (oneMeet.CurrentDay == 0 || ev.DayNo == oneMeet.CurrentDay) &&
                                (oneMeet.CurrentGroupId == null || ev.GroupId == oneMeet.CurrentGroupId)
                                select new
            {
                ev.EventEntryId,
                ev.GroupId,
                ev.EventId,
                ev.RoundNo
            };

            foreach (var p in athletes)
            {
                DispParticipant d = new DispParticipant();
                d.ParticipantId = p.ParticipantId;
                d.Name          = p.FullName;
                d.YOB           = p.YearOfBirth != null && p.YearOfBirth != 0 ? p.YearOfBirth.ToString() : "";
                d.BibNo         = p.BibNo.ToString();

                d.Result     = p.MarkText;
                d.ResultCode = p.MarkCode;
                d.Comment    = p.MarkRemark;
                d.Position   = p.Pos == null ? "" : p.Pos.ToString();

                Guid eventEntryId = (from x in eventsInHeat0 where x.EventId == p.EventId && x.GroupId == p.GroupId && x.RoundNo == p.RoundNo select x.EventEntryId).FirstOrDefault();

                d.OneEvent = new OneEvent
                {
                    Id = eventEntryId,

                    EventId      = p.EventId,
                    GroupId      = p.GroupId,
                    EventText    = p.Text,
                    GroupText    = p.GroupText,
                    RoundText    = p.RoundText,
                    RoundNo      = p.RoundNo,
                    NoOfRounds   = (int)p.NoOfRounds,
                    Day          = (int)p.DayNo,
                    Seconds      = (int)p.Seconds,
                    State        = p.State,
                    GroupSortKey = p.GroupSortKey,
                    EventSortKey = p.EventSortKey
                };

                oneMeet.CurrentTeam.Participants.Add(d);
            }

            switch (oneMeet.CurrentSortBy)
            {
            case 0:
                oneMeet.CurrentTeam.Participants.Sort(CompareTimeSchedule);
                break;

            case 1:
                oneMeet.CurrentTeam.Participants.Sort(CompareGroupEvent);
                break;

            case 2:
                oneMeet.CurrentTeam.Participants.Sort(CompareEventGroup);
                break;

            case 3:
                oneMeet.CurrentTeam.Participants.Sort(CompareName);
                break;
            }

            Guid currentId = Guid.Empty;
            int  number    = 0;

            foreach (var d in oneMeet.CurrentTeam.Participants)
            {
                d.OrderNo = (++number).ToString();

                if (d.ParticipantId.Equals(currentId))
                {
                    d.Name  = "";
                    d.YOB   = "";
                    d.BibNo = "";
                }

                currentId = d.ParticipantId;
            }
        }