private void ReplacePlaceholders(GABHandler gab, params string[] signatures)
        {
            ContactStringReplacer replacer = null;

            try
            {
                replacer = ContactStringReplacer.FindUs(gab);
                if (replacer != null)
                {
                    foreach (string signatureName in signatures)
                    {
                        ReplacePlaceholders(replacer, signatureName);
                    }
                }
            }
            catch (Exception e)
            {
                Logger.Instance.Error(this, "Exception in ReplacePlaceholders: {0}", e);
            }
            finally
            {
                if (replacer != null)
                {
                    replacer.Dispose();
                }
            }
        }
        private void ReplacePlaceholders(ContactStringReplacer replacer, string signatureName)
        {
            if (string.IsNullOrEmpty(signatureName))
            {
                return;
            }

            using (ISignatures signatures = ThisAddIn.Instance.GetSignatures())
            {
                using (ISignature signature = signatures.Get(signatureName))
                {
                    if (signature == null)
                    {
                        return;
                    }

                    foreach (ISignatureFormat format in Enum.GetValues(typeof(ISignatureFormat)))
                    {
                        string template = signature.GetContentTemplate(format);
                        if (template != null)
                        {
                            string replaced = replacer.Replace(template);
                            signature.SetContent(replaced, format);
                        }
                    }
                }
            }
        }
Пример #3
0
 internal string DefaultNameForFolder(AvailableFolder folder)
 {
     // Default include the store name in root folders
     if (folder.ParentId.IsNone)
     {
         if (folder.DefaultName == null)
         {
             using (ContactStringReplacer replacer = ContactStringReplacer.FromGAB(_gab, _user))
             {
                 if (replacer == null)
                 {
                     // No gab available, default to old
                     folder.DefaultName = folder.Name + " - " + folder.Store.UserName;
                 }
                 else
                 {
                     replacer.TokenOpen       = "%";
                     replacer.TokenClose      = "%";
                     replacer.UnknownReplacer = (token) =>
                     {
                         if (token == "foldername")
                         {
                             return(folder.Name);
                         }
                         return("");
                     };
                     folder.DefaultName = replacer.Replace(_feature.DefaultFolderNameFormat);
                 }
             }
         }
         return(folder.DefaultName);
     }
     else
     {
         return(folder.Name);
     }
 }