protected virtual string GetCurrentSessionInfo(ITelemetrySessionData session) { var currentSession = GetCurrentSession(session); var sessionName = currentSession["SessionName"].ToString(); return(sessionName); }
protected virtual string GetVehicleInfo(ITelemetrySessionData session, int driverCarIdx) { var driver = GetDriver(session, driverCarIdx); var vehicle = driver["CarScreenName"].ToString(); return(vehicle); }
protected virtual IDictionary <object, object> GetDriver(ITelemetrySessionData session, int driverCarIdx) { var driversList = (IList <object>)session.SessionInfo.driverInfo["Drivers"]; var driver = (IDictionary <object, object>)driversList[driverCarIdx]; return(driver); }
protected virtual string GetDriverInfo(ITelemetrySessionData session, int driverCarIdx) { var driver = GetDriver(session, driverCarIdx); var userName = driver["UserName"].ToString(); return(userName); }
protected virtual string GetLapInfo(ITelemetrySessionData session, int driverCarIdx) { string lapCount = ""; string fastestLapNumber = ""; string fastestLapTime = ""; var sessions = (IList <object>)session.SessionInfo.sessionInfo["Sessions"]; var currentSession = (IDictionary <object, object>)sessions.LastOrDefault(); var sessionResults = (IList <object>)currentSession["ResultsPositions"]; if (sessionResults == null) { return("0"); } else { foreach (IDictionary <object, object> result in sessionResults) { if (result["CarIdx"].ToString() == driverCarIdx.ToString()) { lapCount = result["Lap"].ToString(); fastestLapNumber = result["FastestLap"].ToString(); fastestLapTime = result["FastestTime"].ToString(); } } return($"{lapCount} Best Lap: {fastestLapNumber} [{fastestLapTime}]"); } }
protected virtual async Task DisplaySessionAsync(ITelemetrySessionData session) { DisplaySessionName(); await DisplaySessionInfoAsync(session); closeToolStripMenuItem1.Enabled = true; }
protected virtual string GetTrackInfo(ITelemetrySessionData session) { var trackName = GetTrackName(session); var trackLength = session.SessionInfo.weekendInfo["TrackLength"].ToString(); var trackType = session.SessionInfo.weekendInfo["TrackType"].ToString(); var sessions = (IList <object>)session.SessionInfo.sessionInfo["Sessions"]; var currentSession = (IDictionary <object, object>)sessions.LastOrDefault(); var trackState = GetTrackState(session); return($"{trackName}\r\n{trackLength}\r\n{trackType}\r\n{trackState}"); }
private void SaveFieldDefinitionFile(ITelemetrySessionData session) { JsonSerializerSettings settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto }; var json = JsonConvert.SerializeObject(session.Fields, settings); var fieldListFile = Path.Combine(DisplaysFolder, "FieldDefinitions.json"); File.WriteAllText(fieldListFile, json); MessageBox.Show("Field definition list saved"); }
private async Task <ITelemetrySessionData> LoadTelemetryFileSessionAsync() { ITelemetrySessionData session = null; _sessionFileName = SelectSessionFile(); if (!String.IsNullOrEmpty(_sessionFileName)) { session = await LoadTelemetryFileSessionAsync(_sessionFileName); } return(session); }
protected virtual async Task DisplaySessionInfoAsync(ITelemetrySessionData session) { string sessionName = ""; string vehicle = ""; string setupName = ""; string trackName = ""; string weather = ""; string trackState = ""; string timeOfDay = ""; string airTemp = ""; string trackTemp = ""; await Task.Run(() => { try { var driverCarIdx = GetDriverCarIdx(session); sessionName = GetCurrentSessionInfo(session); setupName = GetSetupName(session); vehicle = GetVehicleInfo(session, driverCarIdx); trackName = GetTrackName(session); trackState = GetTrackState(session); weather = GetWeather(session); timeOfDay = GetTimeOfDay(session); airTemp = GetAirTemp(session); trackTemp = GetTrackTemp(session); } catch (KeyNotFoundException ex) { ExceptionHandler(ex); } catch (Exception ex) { ExceptionHandler(ex); } }); DisplaySetupName(setupName); lblVehicleName.Text = $"Vehicle: {vehicle}"; lblTrackName.Text = $"Track: {trackName}"; lblWeather.Text = $"Weather: {weather}"; lblTrackState.Text = $"Track State: {trackState}"; lblTimeOfDay.Text = $"Time of Day: {timeOfDay}"; lblSessionTypeName.Text = $"Session Type: {sessionName}"; lblAirTemp.Text = $"Air Temp: {airTemp}"; lblTrackTemp.Text = $"Track Temp: {trackTemp}"; }
protected virtual string GetSetupName(ITelemetrySessionData session) { var setupName = session.SessionInfo.driverInfo["DriverSetupName"].ToString(); bool isModified = ("1" == session.SessionInfo.driverInfo["DriverSetupIsModified"].ToString()); if (isModified) { var setupSection = session.SetupInfo; var modifiedCount = setupSection.updateCount; return($"{setupName} [{modifiedCount}]"); } else { return(setupName); } }
protected virtual async void OnSessionChanged(ITelemetrySessionData session) { _displayController.Session = _session; ClearSession(); if (session != null) { await DisplaySessionAsync(session); SetSessionOpenFormState(); } else { SetSessionClosedFormState(); } }
protected virtual string GetTimeOfDay(ITelemetrySessionData session) { var weekendOptions = (IDictionary <object, object>)session.SessionInfo.weekendInfo["WeekendOptions"]; return(weekendOptions["TimeOfDay"].ToString()); }
protected virtual int GetDriverCarIdx(ITelemetrySessionData session) { return(Int32.Parse(session.SessionInfo.driverInfo["DriverCarIdx"].ToString())); }
protected virtual string GetTrackName(ITelemetrySessionData session) { return(session.SessionInfo.weekendInfo["TrackDisplayName"].ToString()); }
protected virtual string GetTrackState(ITelemetrySessionData session) { var currentSession = GetCurrentSession(session); return(currentSession["SessionTrackRubberState"].ToString()); }
protected virtual string GetWeather(ITelemetrySessionData session) { return(session.SessionInfo.weekendInfo["TrackSkies"].ToString()); }
protected virtual string GetTrackTemp(ITelemetrySessionData session) { return(session.SessionInfo.weekendInfo["TrackSurfaceTemp"].ToString()); }
protected virtual IDictionary <object, object> GetCurrentSession(ITelemetrySessionData session) { var sessions = (IList <object>)session.SessionInfo.sessionInfo["Sessions"]; return((IDictionary <object, object>)sessions.LastOrDefault()); }