public static TaskGroup Bind(MailboxSession session, Guid groupClassId) { Util.ThrowOnNullArgument(session, "session"); Util.ThrowOnNullArgument(groupClassId, "groupClassId"); if (groupClassId.Equals(Guid.Empty)) { throw new ArgumentException("Invalid GroupClassId", "groupClassId"); } TaskGroup taskGroup = null; bool flag = true; bool flag2 = false; TaskGroup result; using (Folder folder = Folder.Bind(session, DefaultFolderType.CommonViews)) { using (QueryResult queryResult = folder.ItemQuery(ItemQueryType.Associated, null, TaskGroup.TaskGroupViewSortOrder, TaskGroup.TaskInfoProperties)) { queryResult.SeekToCondition(SeekReference.OriginBeginning, TaskGroup.TaskSectionFilter); while (flag) { IStorePropertyBag[] propertyBags = queryResult.GetPropertyBags(10000); if (propertyBags.Length == 0) { break; } for (int i = 0; i < propertyBags.Length; i++) { IStorePropertyBag storePropertyBag = propertyBags[i]; if (!TaskGroup.IsTaskSection(storePropertyBag)) { flag = false; break; } if (TaskGroup.IsFolderTreeData(storePropertyBag)) { if (!flag2 && TaskGroup.IsTaskGroup(storePropertyBag, groupClassId)) { flag2 = true; VersionedId storeId = (VersionedId)storePropertyBag.TryGetProperty(ItemSchema.Id); taskGroup = TaskGroup.Bind(session, storeId); } if (flag2) { taskGroup.LoadChildNodesCollection(propertyBags, i); break; } } } } if (flag2) { result = taskGroup; } else { result = TaskGroup.CreateMyTasksGroup(session); } } } return(result); }
public static TaskGroup Bind(MailboxSession session, StoreId storeId) { return(TaskGroup.Bind(session, storeId, null)); }
public static TaskGroup BindDefaultGroup(MailboxSession session) { return(TaskGroup.Bind(session, FolderTreeData.MyFoldersClassId)); }