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++; } } }
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(); }