private bool SqlTrySelect(string chromatogramID, out Peak2DArray peaks) { SQLiteCommand cmd; if (!currentScope.TryGetCommand("SELECT_CHROMATOGRAM_PEAKS_CMD", out cmd)) { cmd = currentScope.PrepareCommand("SELECT_CHROMATOGRAM_PEAKS_CMD", "SELECT PeakArray, PeakData FROM Chromatogram WHERE ChromatogramID = @chromatogramID"); } else { cmd.Parameters.Clear(); } cmd.Parameters.AddWithValue("@chromatogramID", chromatogramID); using (SQLiteDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { peaks = MzLiteJson.FromJson <Peak2DArray>(reader.GetString(0)); decoder.Decode(reader.GetStream(1), peaks); return(true); } else { peaks = null; return(false); } } }
public void Insert(string runID, Chromatogram chromatogram, Peak2DArray peaks) { RaiseDisposed(); RaiseNotInScope(); try { SqlInsert(runID, chromatogram, peaks); } catch (Exception ex) { throw new MzLiteIOException(ex.Message, ex); } }
private void SqlInsert(string runID, Chromatogram chromatogram, Peak2DArray peaks) { SQLiteCommand cmd; if (!currentScope.TryGetCommand("INSERT_CHROMATOGRAM_CMD", out cmd)) { cmd = currentScope.PrepareCommand("INSERT_CHROMATOGRAM_CMD", "INSERT INTO Chromatogram VALUES(@runID, @chromatogramID, @description, @peakArray, @peakData);"); } cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@runID", runID); cmd.Parameters.AddWithValue("@chromatogramID", chromatogram.ID); cmd.Parameters.AddWithValue("@description", MzLiteJson.ToJson(chromatogram)); cmd.Parameters.AddWithValue("@peakArray", MzLiteJson.ToJson(peaks)); cmd.Parameters.AddWithValue("@peakData", encoder.Encode(peaks)); cmd.ExecuteNonQuery(); }
public Task InsertAsync(string runID, Chromatogram chromatogram, Peak2DArray peaks) { return(Task.Run(() => { Insert(runID, chromatogram, peaks); })); }