private IList <string> execute() { var errors = new List <string>(); try { decryptor.DatabasePath = this.Model.DatabasePath; decryptor.DecryptAllFolders(this.Model.InputPath, this.Model.IsCreateTranscript, this.Model.OutputPath, false); if (this.Model.IsRemoveFolderAfterDecryption) { foreach (string coursePath in Directory.GetDirectories(this.Model.InputPath, "*", SearchOption.TopDirectoryOnly)) { decryptor.RemoveCourse(coursePath); } } } catch (System.Exception ex) { Logger.Error("Execute - Fail to decrypt.", ex); errors.Add($"Fail to decrypt: {ex.Message}"); } return(errors); }