public bool Save()
{
using (var ctx = new Entities())
{
var raceIntermediate = new RaceIntermediate()
{
CheckpointID = CheckpointID,
CheckpointOrderID = CheckpointOrderID,
RuntimeId = RuntimeId,
AthleteId = AthleteId
};
ctx.RaceIntermediates.AddObject(raceIntermediate);
var checkpointOrder = ctx.CheckpointOrders.Where(cpOrder => cpOrder.ID == CheckpointOrderID).Single();
checkpointOrder.IsMerged = true;
var runtime = ctx.Runtimes.Where(rt => rt.RuntimeID == RuntimeId).Single();
runtime.IsMerged = true;
try
{
ctx.SaveChanges();
}
catch (System.Exception)
{
return false;
}
}
return true;
}
public void It_Should_Be_Possible_To_Connect_An_Athlete_To_A_Startnumber() { Given("we have an athlete and a startnumber registrert", () => { athlete.ConnectToRace(race.RaceId); timer = CreateNewTimerModelWithCheckpoints(race); checkpointOrder = new CheckpointOrderModel(); checkpointOrder.AddCheckpointOrderDB(timer.CurrentCheckpointId, 1); timer.Start(); timer.AddRuntime(400, timer.GetFirstCheckpointId()); intermediate = new RaceIntermediateModel(timer.CurrentCheckpointId, checkpointOrder.ID, timer.CheckpointRuntimes[timer.CurrentCheckpointId].First().Key); intermediate.Save(); }); When("we want to connect athletes to startnumbers", () => { RaceIntermediateModel.MergeAthletes(race.RaceId); }); Then("athletes should be connected to raceintermediate", () => { RaceIntermediateModel.GetRaceintermediatesForRace(race.RaceId).First().AthleteId.ShouldNotBeNull(); }); }