Example #1
0
 public static void DeferDecryption(IDeferDecryption o, RdcTreeNode node, string errorDetail)
 {
     PendingDecryption.Add(new DeferDecryptionItem
     {
         Object      = o,
         Node        = node,
         ErrorDetail = errorDetail
     });
 }
Example #2
0
        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);
        }