public override void ConfigureTaskImplementation(AsyncTaskSequence sequence) { var books = LibraryManager.Value.BookSource; foreach (var book in books) { ContentsLoadTask.FillContents(LibraryManager.Value, book); var images = book.Contents; foreach (var image in images) { ContentsLoadTask.Load(image); sequence.Add(() => _TargetEncryptImage = EncryptImageFacade.FindBy(image.Image.ID)); sequence.Add(() => Encryptor.Decrypt(_TargetEncryptImage.EncryptFilePath, image.Image.AbsoluteMasterPath, Password)); sequence.Add(() => File.Delete($"{Configuration.ApplicationConfiguration.WorkingDirectory}\\{Specifications.MASTER_DIRECTORY}\\{image.Image.ID}{Path.GetExtension(image.Image.AbsoluteMasterPath)}")); sequence.Add(() => EncryptImageFacade.DeleteBy(image.Image.ID)); } } sequence.Add(() => OnmemoryImageManager.Instance.Clear()); sequence.Add(() => Configuration.ApplicationConfiguration.Password = null); sequence.Add(() => Configuration.ApplicationConfiguration.LibraryIsEncrypted = false); }