ITimeU.Models.RaceIntermediateModel.GetRaceintermediatesForRace C# (CSharp) Method

GetRaceintermediatesForRace() public static method

Gets the raceintermediate for a race.
public static GetRaceintermediatesForRace ( int raceid ) : List
raceid int The race id.
return List
        public static List<RaceIntermediateModel> GetRaceintermediatesForRace(int raceid)
        {
            using (var context = new Entities())
            {
                var list = context.RaceIntermediates.
                    Where(raceintermediate => raceintermediate.Checkpoint.RaceID == raceid && !raceintermediate.IsDeleted).
                    OrderBy(raceintermediate => raceintermediate.CheckpointOrder.OrderNumber).
                    Select(raceintermediate => new RaceIntermediateModel()
                    {
                        CheckpointID = raceintermediate.CheckpointID,
                        CheckpointModel = new CheckpointModel()
                        {
                            Id = raceintermediate.CheckpointID,
                            Name = raceintermediate.Checkpoint.Name,
                            Sortorder = raceintermediate.Checkpoint.SortOrder,
                            RaceId = raceintermediate.Checkpoint.RaceID
                        },
                        CheckpointOrderID = raceintermediate.CheckpointOrderID,
                        CheckpointorderModel = new CheckpointOrderModel()
                        {
                            ID = raceintermediate.CheckpointOrderID,
                            CheckpointID = raceintermediate.CheckpointID,
                            OrderNumber = raceintermediate.CheckpointOrder.OrderNumber.HasValue ? raceintermediate.CheckpointOrder.OrderNumber.Value : 0,
                            StartingNumber = raceintermediate.CheckpointOrder.StartingNumber.HasValue ? raceintermediate.CheckpointOrder.StartingNumber.Value : 0
                        },
                        RuntimeId = raceintermediate.RuntimeId,
                        RuntimeModel = new RuntimeModel()
                        {
                            CheckPointId = raceintermediate.CheckpointID,
                            Id = raceintermediate.RuntimeId,
                            Runtime = raceintermediate.Runtime.Runtime1
                        },
                        AthleteId = raceintermediate.AthleteId.HasValue ? raceintermediate.AthleteId : null,
                        AthleteModel = new AthleteModel()
                        {
                            Id = raceintermediate.AthleteId.HasValue ? raceintermediate.AthleteId.Value : 0,
                            FirstName = raceintermediate.AthleteId.HasValue ? raceintermediate.Athlete.FirstName : "-",
                            LastName = raceintermediate.AthleteId.HasValue ? raceintermediate.Athlete.LastName : "-",
                            StartNumber = raceintermediate.AthleteId.HasValue ? raceintermediate.Athlete.Startnumber : null,
                            Club = new ClubModel()
                            {
                                Id = raceintermediate.Athlete.ClubID.HasValue ? raceintermediate.Athlete.Club.ClubID : 0,
                                Name = raceintermediate.Athlete.ClubID.HasValue ? raceintermediate.Athlete.Club.Name : "-"
                            },
                            AthleteClass = new AthleteClassModel()
                            {
                                Id = raceintermediate.Athlete.ClassID.HasValue ? raceintermediate.Athlete.ClassID.Value : 0,
                                Name = raceintermediate.Athlete.ClassID.HasValue ? raceintermediate.Athlete.Club.Name : "-"
                            }
                        }
                    }).ToList();
                return list;
            }
        }