示例#1
0
        public static object GetPublicFolderId(object publicFolderObject)
        {
            PublicFolderIdParameter publicFolderIdParameter = publicFolderObject as PublicFolderIdParameter;

            if (publicFolderIdParameter != null)
            {
                return(publicFolderIdParameter.ToString());
            }
            return(publicFolderObject);
        }
示例#2
0
 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));
 }