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

GetRaceintermediatesForCheckpoint() public static method

Gets the raceintermediate for a checkpoint.
public static GetRaceintermediatesForCheckpoint ( int checkpointId ) : List
checkpointId int The checkpoint id.
return List
        public static List<RaceIntermediateModel> GetRaceintermediatesForCheckpoint(int checkpointId)
        {
            using (var context = new Entities())
            {
                var list = context.RaceIntermediates.
                    Where(raceintermediate => raceintermediate.CheckpointID == checkpointId && !raceintermediate.IsDeleted).
                    OrderBy(raceintermediate => raceintermediate.CheckpointOrder.OrderNumber).
                    Select(raceintermediate => new RaceIntermediateModel()
                    {
                        CheckpointID = raceintermediate.CheckpointID,
                        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.Athlete.FirstName,
                            LastName = raceintermediate.Athlete.LastName,
                            Club = new ClubModel()
                            {
                                Id = raceintermediate.Athlete.ClubID.HasValue ? raceintermediate.Athlete.ClubID.Value : 0,
                                Name = raceintermediate.Athlete.ClubID.HasValue ? raceintermediate.Athlete.Club.Name : "-"
                            },
                            Birthday = raceintermediate.Athlete.Birthday,
                            AthleteClass = new AthleteClassModel()
                            {
                                Id = raceintermediate.Athlete.ClassID.HasValue ? raceintermediate.Athlete.ClassID.Value : 0,
                                Name = raceintermediate.Athlete.ClassID.HasValue ? raceintermediate.Athlete.Club.Name : "-"
                            },
                            StartNumber = raceintermediate.Athlete.Startnumber
                        }
                    }).ToList();
                return list;
            }
        }