Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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();
     }
 }
Ejemplo n.º 3
0
        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);
        }