Ejemplo n.º 1
0
        private void ParseRules(bool includeHidden)
        {
            MapiFolder mapiFolder = this.Folder.MapiFolder;

            Rules.RunMapiCode(ServerStrings.ErrorLoadingRules, delegate
            {
                this.serverRules = mapiFolder.GetRules(new PropTag[0]);
            });
            int num = 10;

            foreach (Rule rule in this.serverRules)
            {
                if (Rules.IsInboxRule(rule) || includeHidden)
                {
                    Rule rule2 = Rule.Create(this.Folder, rule);
                    this.data.Add(rule2);
                    rule2.Id = new RuleId(this.data.IndexOf(rule2), rule.ID);
                    rule2.ClearDirty();
                    if (rule2.Sequence != num)
                    {
                        rule2.Sequence = num;
                    }
                    num++;
                }
            }
        }
Ejemplo n.º 2
0
 private void WriteFolder(Folder folder)
 {
     this.writer.WriteStartElement("Folder");
     if (folder != null)
     {
         Rule[]    rules = null;
         Exception exception;
         if (RuleUtil.TryRunStoreCode(delegate
         {
             MapiFolder mapiFolder = folder.MapiFolder;
             rules = mapiFolder.GetRules(new PropTag[0]);
         }, out exception))
         {
             this.writer.WriteAttributeString("FolderName", folder.DisplayName);
             this.writer.WriteAttributeString("Rules", rules.Length.ToString());
             for (int i = 0; i < rules.Length; i++)
             {
                 Rule rule = rules[i];
                 this.WriteRule(rule, i);
             }
         }
         else
         {
             this.WriteExceptionElement("Getting rules from folder: " + folder.DisplayName, exception);
         }
     }
     this.writer.WriteEndElement();
 }