private void btnUpdateAvgRPM_Click(object sender, RoutedEventArgs e) { PylonLogEntry selectedEntry = (PylonLogEntry)dgPylonLog.SelectedItem; if (selectedEntry != null) { if (selectedEntry.endTimeStamp != 0) { selectedEntry.avgRPM = (int)(selectedEntry.averageOfSpecifiedValueType("RPM", 100 * selectedEntry.launchTimeStamp, 100 * selectedEntry.endTimeStamp)); } else { selectedEntry.avgRPM = (int)(selectedEntry.averageOfSpecifiedValueType("RPM", 100 * selectedEntry.launchTimeStamp)); } } }
private void btnOpenCreateLogEntry_Click(object sender, RoutedEventArgs e) { TelemetrySession selectedLogSession = (TelemetrySession)lstBxLogSessions.SelectedItem; PylonLogEntry previous = pylonLogEntry; pylonLogEntry = new PylonLogEntry(); pylonLogEntry.planeName = selectedLogSession.planeName; pylonLogEntry.humidity = previous.humidity; pylonLogEntry.temperature = previous.temperature; pylonLogEntry.prop = previous.prop; pylonLogEntry.plugType = previous.plugType; pylonLogEntry.engine = previous.engine; pylonLogEntry.entryType = previous.entryType; foreach (DataBlock dataBlock in selectedLogSession.dataBlocks) { if (dataBlock.dataValue != 0) { pylonLogEntry.DataBlocks.Add(dataBlock.shallowClone()); } } pylonLogEntry.avgRPM = (int)(pylonLogEntry.averageOfSpecifiedValueType("RPM")); pylonLogEntry.telemetryDuration = selectedLogSession.duration; GlobalDataContext.pylonLogContext.pylonLogEntries.Add(pylonLogEntry); GlobalDataContext.pylonLogContext.SaveChanges(); spektrumLog.logSessions.Remove(selectedLogSession); this.dgPylonLog.Focus(); dgPylonLog.SelectedItem = this.dgPylonLog.Items.MoveCurrentToLast(); dgPylonLog.ScrollIntoView(dgPylonLog.SelectedItem); }