/// <summary> /// Updates an existing retrieval record /// </summary> /// <param name="retrieval"> /// The retrieval to update /// </param> /// <returns> /// The updated retrieval record /// </returns> public Retrieval UpdateRetrieval(Retrieval retrieval) { Execute( "UPDATE Retrieval SET " + "SessionID = @p1, " + "Blob = @p2, " + "Name = @p3, " + "Offset = @p4, " + "Length = @p5 " + "WHERE ID = @p0;", retrieval.ID, retrieval.Session.ID, retrieval.Blob, retrieval.Name, retrieval.Offset, retrieval.Length ); return retrieval; }
/// <summary> /// Inserts a new retrieval record /// </summary> /// <param name="retrieval"> /// The retrieval to insert /// </param> /// <returns> /// The inserted retrieval, including the generated primary key /// </returns> public Retrieval InsertRetrieval(Retrieval retrieval) { Execute( "INSERT INTO Retrieval (" + "SessionID, " + "Blob, " + "Name, " + "Offset, " + "Length) " + "VALUES (@p0, @p1, @p2, @p3, @p4);", retrieval.Session.ID, retrieval.Blob, retrieval.Name, retrieval.Offset, retrieval.Length ); retrieval.ID = GetLastRowID(); return retrieval; }
/// <summary> /// Retrieves the entry records associated with a retrieval /// </summary> /// <param name="retrieval"> /// The retrieval to query /// </param> /// <returns> /// The enumeration of entries /// </returns> public IEnumerable<Entry> ListRetrievalEntries(Retrieval retrieval) { return Enumerate( "SELECT " + "ID, " + "BackupEntryID, " + "State, " + "Offset, " + "Length " + "FROM Entry " + "WHERE RetrievalID = @p0 " + "ORDER BY Offset;", new Object[] { retrieval.ID }, reader => new Entry() { ID = Convert.ToInt32(reader[0]), BackupEntryID = Convert.ToInt32(reader[1]), Session = retrieval.Session, Retrieval = retrieval, State = (EntryState)Convert.ToInt32(reader[2]), Offset = Convert.ToInt64(reader[3]), Length = Convert.ToInt64(reader[4]) } ); }
/// <summary> /// Deletes an existing retrieval /// </summary> /// <param name="retrieval"> /// The retrieval to delete /// </param> public void DeleteRetrieval(Retrieval retrieval) { Execute( "DELETE FROM Retrieval WHERE ID = @p0;", retrieval.ID ); }