public static Boolean FileInfo_Delete(String filePath) { lock ( conn ) { try { String fileFullPath = Path.GetFullPath(filePath); if (PreKeyring.GetRowsCountOfFilePath(fileFullPath) == 0) { return(false); } else { String sql = string.Format(SQLStatement.FileInfo_Delete, fileFullPath); conn.Open(); using (SqliteCommand cmd = new SqliteCommand()) { cmd.Connection = PreKeyring.conn; cmd.CommandText = sql; if (cmd.ExecuteNonQuery() != 1) { return(false); } } } } catch (Exception) { log.ErrorFormat("FileInfo delete {0}", filePath); return(false); } } return(true); }
public static void FileInfo_Delete(String[] filePaths) { lock ( conn ) { if (conn.State == ConnectionState.Closed) { conn.Open(); } SqliteCommand cmd = new SqliteCommand(); cmd.Connection = PreKeyring.conn; foreach (String filePath in filePaths) { try { String fileFullPath = Path.GetFullPath(filePath); if (PreKeyring.GetRowsCountOfFilePath(fileFullPath) == 0) { continue; } else { String sql = string.Format(SQLStatement.FileInfo_Delete, fileFullPath); cmd.CommandText = sql; cmd.ExecuteNonQuery(); } } catch (System.Exception) { log.ErrorFormat("FileInfo delete {0}", filePath); continue; } } conn.Close(); } }
public static Boolean FileInfo_Update(FileMetaData fi) { lock ( conn ) { try { if (fi.Key == null) { return(false); } fi.FilePath = Path.GetFullPath(fi.FilePath); fi.Key = Base64String.StringToBase64String(fi.Key); if (PreKeyring.GetRowsCountOfFilePath(fi.FilePath) == 0) { FileInfo_Insert(fi); } else { String sql = string.Format(SQLStatement.FileInfo_Update, fi.FileName, fi.FilePath, fi.Key, fi.PlainTextHash, fi.CryptTextHash); if (conn.State == ConnectionState.Closed) { conn.Open(); } using (SqliteCommand cmd = new SqliteCommand()) { cmd.Connection = PreKeyring.conn; cmd.CommandText = sql; if (cmd.ExecuteNonQuery() != 1) { return(false); } } } } catch (System.Exception) { log.ErrorFormat("Update {0}", fi.FilePath); } } return(true); }