public static void DeferDecryption(IDeferDecryption o, RdcTreeNode node, string errorDetail) { PendingDecryption.Add(new DeferDecryptionItem { Object = o, Node = node, ErrorDetail = errorDetail }); }
private static bool DecryptPassword(DeferDecryptionItem item, StringBuilder builder, string header, ref bool anyFailed) { IDeferDecryption @object = item.Object; RdcTreeNode node = item.Node; string errorDetail = item.ErrorDetail; bool anyInherited = false; node.EncryptionSettings.InheritSettings(node, ref anyInherited); try { @object.Decrypt(node.EncryptionSettings); } catch (Exception ex) { if (!anyFailed) { builder.AppendLine().AppendLine(header); anyFailed = true; } if (node is DefaultSettingsGroup) { builder.Append("默认设置组"); } else { builder.Append(node.FullPath); } builder.AppendFormat(": {0}", errorDetail); if (!string.IsNullOrEmpty(ex.Message)) { builder.AppendFormat(" [{0}]", ex.Message); } builder.AppendLine(); } return(anyFailed); }