private static VehicleStatistics GetStatisticForVehicle(Vehicle vehicle) { var vehicleStatistics = new VehicleStatistics(); int maxSpeed = vehicle.GetMaxSpeed(); int probOfHeavyMalfunction = vehicle.GetProbOfHeavyMalfunction(); int probOfLightMalfunction = vehicle.GetProbOfLightMalfunction(); int repairmentLast = vehicle.GetRepairmentLast(); var timeInPerfectCondition = Convert.ToInt32(Race.Distance / maxSpeed); for (int i = 0; i < timeInPerfectCondition; i++) { if (DoesMalfunctionHappened(probOfHeavyMalfunction)) { vehicleStatistics.DoesHeavyMalfunctionsHappened = true; break; } if (DoesMalfunctionHappened(probOfLightMalfunction)) { vehicleStatistics.FinishTime += repairmentLast; vehicleStatistics.NumberOfLightMalfunctions++; } vehicleStatistics.FinishTime++; vehicleStatistics.Distance += maxSpeed; } return(vehicleStatistics); }
internal static void AddStatisticForVehicle(VehicleStatistics statistics) { using (IDbConnection cnn = new SQLiteConnection(SqliteDataAccess.LoadConnectionString())) { cnn.Execute("insert into VehicleStatistics (VehicleId, Distance, NumberOfLightMalfunctions, DoesHeavyMalfunctionsHappened, FinishTime) " + "values (@VehicleId, @Distance, @NumberOfLightMalfunctions, @DoesHeavyMalfunctionsHappened, @FinishTime)", statistics); } }
public static VehicleStatisticsDto ToVehicleStatisticsDto(this VehicleStatistics vehicle) { return(new VehicleStatisticsDto { FinishTime = vehicle.FinishTime, Distance = vehicle.Distance, Status = vehicle.Status.ToString() }); }
public IHttpActionResult Get(int raceId, int vehicleId) { VehicleStatistics vehicle = _leaderboardService.GetVehicle(raceId, vehicleId); return(OkOrNotFound(vehicle)); }