MonkeyWrench.DB.DeleteFiles C# (CSharp) Method

DeleteFiles() public method

Deletes all the files related to the work in the revision 'revision_id' of lane 'lane' on the host 'host'.
public DeleteFiles ( int host_id, int lane_id, int revision_id ) : void
host_id int
lane_id int
revision_id int
return void
		public void DeleteFiles (int host_id, int lane_id, int revision_id)
		{
			using (IDbTransaction transaction = BeginTransaction ()) {
				using (IDbCommand cmd = CreateCommand ()) {
					cmd.CommandText = @"
SELECT WorkFile.id AS id
	INTO TEMP WorkFile_delete_tmpfile 
	FROM WorkFile 
	INNER JOIN Work ON Work.id = WorkFile.work_id
	INNER JOIN RevisionWork ON RevisionWork.id = Work.revisionwork_id
	WHERE
		RevisionWork.lane_id = @lane_id AND
		RevisionWork.host_id = @host_id AND
		RevisionWork.revision_id = @revision_id;
		
DELETE FROM WorkFile
WHERE id IN (select * from WorkFile_delete_tmpfile);

	DROP TABLE WorkFile_delete_tmpfile;
";
					DB.CreateParameter (cmd, "lane_id", lane_id);
					DB.CreateParameter (cmd, "host_id", host_id);
					DB.CreateParameter (cmd, "revision_id", revision_id);
					cmd.ExecuteNonQuery ();
					transaction.Commit ();
				}
			}
		}