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;
}
}