public static object GetPublicFolderId(object publicFolderObject) { PublicFolderIdParameter publicFolderIdParameter = publicFolderObject as PublicFolderIdParameter; if (publicFolderIdParameter != null) { return(publicFolderIdParameter.ToString()); } return(publicFolderObject); }
internal static MailboxFolderIdParameter GetMailboxFolderIdParameterForPublicFolder(IConfigurationSession configurationSession, PublicFolderIdParameter publicFolderIdParameter, Guid publicFolderMailboxGuid, ADUser publicFolderMailboxUser, OrganizationId organizationId, Task.ErrorLoggerDelegate errorHandler) { if (publicFolderMailboxUser == null) { publicFolderMailboxUser = PublicFolderPermissionTaskHelper.GetPublicFolderHierarchyMailboxUser(configurationSession); if (publicFolderMailboxUser == null) { errorHandler(new LocalizedException(PublicFolderSession.GetNoPublicFoldersProvisionedError(configurationSession.SessionSettings.CurrentOrganizationId)), ExchangeErrorCategory.Client, publicFolderIdParameter); } } if (publicFolderIdParameter.PublicFolderId.StoreObjectId == null) { using (PublicFolderDataProvider publicFolderDataProvider = new PublicFolderDataProvider(configurationSession, "*-PublicFolderClientPermission", publicFolderMailboxGuid)) { StoreObjectId storeObjectId = publicFolderDataProvider.ResolveStoreObjectIdFromFolderPath(publicFolderIdParameter.PublicFolderId.MapiFolderPath); if (storeObjectId == null) { errorHandler(new LocalizedException(Strings.ErrorPublicFolderNotFound(publicFolderIdParameter.ToString())), ExchangeErrorCategory.Client, publicFolderIdParameter); } publicFolderIdParameter.PublicFolderId.StoreObjectId = storeObjectId; } } if (publicFolderIdParameter.Organization != null) { publicFolderIdParameter.PublicFolderId.OrganizationId = organizationId; } return(new MailboxFolderIdParameter(publicFolderIdParameter, publicFolderMailboxUser)); }