public async Task EncryptFilesAsync()
{
if (this.credentialStore.RetrievePasskey() == null)
{
throw new EncryptionKeyNotProvidedException("Attempt to use encryption but no password is set.");
}
await CreateBackup(); // Ensure data is not corrupted and lost when encrypting files
SetAllDirtyFlags(); // Ensure all files are marked as requiring a save.
this.budgetAnalyserDatabase.IsEncrypted = true;
await SaveAsync();
}