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); }
protected void Refresh() { if (String.IsNullOrEmpty(txtUser.Text)) { return; } DBHelper dbh = new DBHelper(@"SELECT f.idflight, Length(telemetry) AS compressed, length(uncompress(telemetry)) AS uncompressed, CAST(UNCOMPRESS(telemetry) AS CHAR) AS telemetry, ft.*, IF(ft.idflight IS NULL, 0 , 1) AS HasFT FROM flights f LEFT JOIN FlightTelemetry ft ON f.idflight=ft.idflight WHERE username=?szUser AND Coalesce(f.telemetry, ft.idflight) IS NOT NULL ORDER BY f.idFlight DESC;"); Collection <TelemetryReference> lst = BoundData; lst.Clear(); dbh.ReadRows((comm) => { comm.Parameters.AddWithValue("szUser", txtUser.Text); }, (dr) => { TelemetryReference tr = (Convert.ToInt32(dr["HasFT"], CultureInfo.InvariantCulture) == 0) ? new TelemetryReference(dr["telemetry"].ToString(), Convert.ToInt32(dr["idflight"], CultureInfo.InvariantCulture)) { Compressed = Convert.ToInt32(dr["compressed"], CultureInfo.InvariantCulture) } : new TelemetryReference(dr) { Compressed = 0, RawData = dr["telemetry"].ToString() }; lst.Add(tr); }); gvData.DataSource = lst; gvData.DataBind(); lblErr.Text = dbh.LastError; }
protected void gvData_RowCommand(object sender, CommandEventArgs e) { if (e == null) { throw new ArgumentNullException(nameof(e)); } int index = Convert.ToInt32(e.CommandArgument, System.Globalization.CultureInfo.InvariantCulture); TelemetryReference ted = BoundData[index]; LogbookEntry le = new LogbookEntry(); le.FLoadFromDB(ted.FlightID.Value, Page.User.Identity.Name, LogbookEntry.LoadTelemetryOption.LoadAll, true); if (e.CommandName == "MapEm") { using (FlightData fd = new FlightData()) { if (fd.ParseFlightData(le.FlightData)) { mfbGMapStraight.Map.Path = fd.GetPath(); mfbGMapReconstituded.Map.Path = ted.GoogleData.DecodedPath(); pnlMaps.Visible = true; } } } else if (e.CommandName == "FromFlights") { le.Telemetry.Compressed = 0; // no longer know the compressed le.MoveTelemetryFromFlightEntry(); UpdateElement(index, le.Telemetry); } else if (e.CommandName == "ToFlights") { le.MoveTelemetryToFlightEntry(); UpdateElement(index, le.Telemetry); } }
protected void UpdateElement(int index, TelemetryReference tr) { BoundData[index] = tr; gvData.DataSource = BoundData; gvData.DataBind(); }
protected void btnFindOrphanedFiles_Click(object sender, EventArgs e) { gvSetManagement.DataSource = TelemetryReference.FindOrphanedFiles(); gvSetManagement.DataBind(); }
protected void btnFindDupeTelemetry_Click(object sender, EventArgs e) { gvSetManagement.DataSource = TelemetryReference.FindDuplicateTelemetry(); gvSetManagement.DataBind(); }