protected void CropInRange(LogbookEntryBase le, string clipMin, string clipMax) { if (le == null) { throw new ArgumentNullException(nameof(le)); } int dataStart = (int)Math.Truncate((Convert.ToDouble(clipMin, CultureInfo.InvariantCulture) / DataCropRange) * Math.Max(DataPointCount - 1, 0)); int dataEnd = (int)Math.Truncate((Convert.ToDouble(clipMax, CultureInfo.InvariantCulture) / DataCropRange) * Math.Max(DataPointCount - 1, 0)); if (dataEnd <= dataStart) { dataEnd = dataStart + 1; } if ((dataStart == 0 && dataEnd == 0) || dataEnd >= DataPointCount) { ResetCrop(le); return; } TelemetryReference tr = le.Telemetry; tr.MetaData.DataStart = dataStart; tr.MetaData.DataEnd = dataEnd; using (FlightData fd = new FlightData()) { fd.ParseFlightData(le); tr.RecalcGoogleData(fd); } tr.Commit(); Response.Redirect(Request.RawUrl); }
protected void ResetCrop(LogbookEntryBase le) { if (le == null) { throw new ArgumentNullException(nameof(le)); } TelemetryReference tr = le.Telemetry; tr.MetaData.DataEnd = tr.MetaData.DataStart = null; using (FlightData fd = new FlightData()) { fd.ParseFlightData(le); tr.RecalcGoogleData(fd); } tr.Commit(); Response.Redirect(Request.RawUrl); }