コード例 #1
0
        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);
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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;
        }