private static void SaveFile(string filename) { var fileDetails = new FileInfo(filename); var fileObject = new EFile(fileDetails); var temp = DBController.ReadFileDetails(fileObject.FileLocation).FileName; if (fileObject.FileLocation != temp) { SaveToDBFiles(fileObject); var encryptFile = new FileEncryptor(fileObject); try { encryptFile.FileEncrypt(); fileObject.EncryptedHash = encryptFile.EncryptedHash; fileObject.StoredDateTime = DateTime.Now; DBController.WriteToDB("storedfiles", fileObject); DBController.UpdateDBState(fileObject.FileHash, "true"); StatusMessage.PostToRecentsBox(fileObject); } catch (Exception ex) { StatusMessage.PostToActivityBox("Attempting Encryption: " + ex.ToString(), MessageType.ERROR); StatusMessage logger = new StatusMessage(); logger.Log("Save button: " + ex); } } else { MessageBox.Show("Error, file was already saved.", "Error encrypting file", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void Button_Click(object sender, RoutedEventArgs e) { if (lbStoredFiles.SelectedItems.Count > 0) { var filename = lbStoredFiles.SelectedItem.ToString(); if (filename != null && savedFiles != null) { EFile fileDetails = LoadData(filename); fileDetails.FileName += ".aes"; var decryptFile = new FileEncryptor(fileDetails); if (!decryptFile.IsAlreadyEncrypted()) { MessageBox.Show("The file isn't encrypted.", "File Already Encrypted", MessageBoxButton.OK); StatusMessage.PostToActivityBox("Cannot decrypt file: The file was already decrypted", MessageType.ERROR); } try { decryptFile.FileDecrypt(); DBController.UpdateDBState(fileDetails.FileHash, "false"); DBController.RemoveSavedFile(fileDetails.FileHash); ContainsSavedFiles(); MessageBox.Show("File has been successfully retireved!", "File Retrieved", MessageBoxButton.OK, MessageBoxImage.Information); StatusMessage.PostToActivityBox("File retrieved.", MessageType.INFORMATION); } catch (Exception decryptEx) { StatusMessage.PostToActivityBox("Failed to decrypt file!", MessageType.ERROR); var logger = new StatusMessage(); logger.Log($"Retrieve File Button: {decryptEx}"); } } } else { MessageBox.Show("Please select a file to retrieve!", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); } }