public Model.DakarRallyEntities GetContext() { var connextionString = @"metadata=res://*/Model.DakarRallyModel.csdl|res://*/Model.DakarRallyModel.ssdl|res://*/Model.DakarRallyModel.msl;provider=System.Data.SqlServerCe.4.0;provider connection string='Data Source={db_path}'"; var model = new Model.DakarRallyEntities(connextionString.Replace("{db_path}", AppSettings.DatabasePath)); model.Database.Log = s => System.Diagnostics.Debug.WriteLine(s); return(model); }
private static void UpdateRaceVehicles(int raceId, List <RaceVehicle> raceVehicles, Model.DakarRallyEntities context) { var dbRaceVehicles = context.RaceVehicles.Where(x => x.RaceId == raceId); foreach (var vehicle in dbRaceVehicles) { var newVehicle = raceVehicles.SingleOrDefault(x => x.VehicleId == vehicle.VehicleId); int malfunctionId = 1; context.Malfunctions.AddRange(newVehicle.Malfunctions.Select(x => new Model.Malfunction() { RaceId = raceId, VehicleId = vehicle.VehicleId, MalfunctionId = malfunctionId++, Status = x.Status, StartAt = x.StartAt, EndAt = x.EndAt, })); vehicle.FinishTime = newVehicle.FinishTime; vehicle.Distance = newVehicle.DistanceInMeters; } }
private static void UpdateRace(int raceId, DateTime startDate, DateTime raceEndsAt, Model.DakarRallyEntities context) { var race = context.Races.SingleOrDefault(x => x.Id == raceId); race.StartsAt = startDate; race.EndsAt = raceEndsAt; race.Status = (short)RaceStatus.Running; }