private void LinkAddedOrDeleted(object sender, LinkEventArgs e) { if (e.Source.Type == STR.Email) { if (e.Target.Type == STR.Category && Settings.SyncMailCategory) { ExportCategories.Do(JobPriority.AboveNormal, e.Source); } else if (e.Target.Type == STR.Flag) { ExportEmailFlag.Do(JobPriority.AboveNormal, e.Source); } } else if (e.Source.Type == STR.Task) { if (e.Target.Type == STR.Category && Settings.SyncTaskCategory) { ExportCategories.Do(JobPriority.AboveNormal, e.Source); } } else if (e.Source.Type == STR.Contact) { if (e.Target.Type == STR.Category && Settings.SyncContactCategory) { OutlookSession.OutlookProcessor.QueueJob(JobPriority.AboveNormal, new ExportContactCategoryDescriptor(e.Source)); } } }
private void ProcessCategories(IResource category, string resType) { IResourceList resources = category.GetLinksOfType(resType, "Category"); foreach (IResource resource in resources) { ExportCategories.Do(JobPriority.AboveNormal, resource); } }