internal StoreObjectId RefreshDefaultFolder(DefaultFolderType defaultFolderType)
        {
            DefaultFolder defaultFolder = this.GetDefaultFolder(defaultFolderType);

            defaultFolder.Refresh();
            StoreObjectId result;

            defaultFolder.TryGetFolderId(out result);
            return(result);
        }
        internal StoreObjectId CreateDefaultSystemFolder()
        {
            DefaultFolder defaultFolder = this.GetDefaultFolder(DefaultFolderType.System);

            defaultFolder.Create();
            StoreObjectId result;

            if (!defaultFolder.TryGetFolderId(out result))
            {
                throw new AccessDeniedException(ServerStrings.DefaultFolderAccessDenied(defaultFolder.ToString()));
            }
            return(result);
        }
        internal StoreObjectId CreateDefaultFolder(DefaultFolderType defaultFolderType)
        {
            EnumValidator.ThrowIfInvalid <DefaultFolderType>(defaultFolderType, DefaultFolderManager.validFolderTypesForCreateDefaultFolder);
            DefaultFolder defaultFolder = this.GetDefaultFolder(defaultFolderType);

            defaultFolder.Create();
            StoreObjectId result;

            if (!defaultFolder.TryGetFolderId(out result))
            {
                throw new AccessDeniedException(ServerStrings.DefaultFolderAccessDenied(defaultFolder.ToString()));
            }
            return(result);
        }
예제 #4
0
 internal StoreObjectId this[DefaultFolderType defaultFolderType]
 {
     get
     {
         EnumValidator.AssertValid <DefaultFolderType>(defaultFolderType);
         DefaultFolder defaultFolder = this.defaultFolders[(int)defaultFolderType];
         if (defaultFolder != null)
         {
             StoreObjectId result;
             defaultFolder.TryGetFolderId(out result);
             return(result);
         }
         return(null);
     }
 }
        internal bool TryFixDefaultFolderId(DefaultFolderType defaultFolderType, out StoreObjectId id)
        {
            EnumValidator.ThrowIfInvalid <DefaultFolderType>(defaultFolderType);
            DefaultFolder defaultFolder = this.GetDefaultFolder(defaultFolderType);

            try
            {
                defaultFolder.RemoveForRecover();
                defaultFolder.Create();
            }
            catch (ObjectNotFoundException)
            {
                id = null;
                return(false);
            }
            catch (NotSupportedException)
            {
                id = null;
                return(false);
            }
            return(defaultFolder.TryGetFolderId(out id));
        }