public static SharingMessageItem CreateWithSpecficProvider(MailboxSession session, StoreId destFolderId, StoreId folderIdToShare, SharingProvider provider, bool force) { if (provider == null) { throw new ArgumentNullException("provider"); } SharingMessageItem sharingMessageItem = SharingMessageItem.InternalCreate(session, destFolderId, folderIdToShare, provider); if (force) { sharingMessageItem.ForceSharingProvider = provider; } return(sharingMessageItem); }
private SharingMessageItem CreateRequestResponseMessage(SharingResponseType responseType, StoreId destFolderId) { if (base.IsDraft) { throw new InvalidOperationException("Cannot response on draft message."); } if (!this.SharingMessageType.IsRequest) { throw new InvalidOperationException("Only can response to a request message."); } StoreId defaultFolderId = this.MailboxSession.GetDefaultFolderId(this.SharedFolderType); SharingMessageItem sharingMessageItem = SharingMessageItem.InternalCreate(this.MailboxSession, destFolderId, defaultFolderId, this.GetTargetSharingProvider()); sharingMessageItem.SharingMessageType = SharingMessageItem.GetMessageTypeFromResponseType(responseType); sharingMessageItem.Recipients.Add(base.From); sharingMessageItem[SharingMessageItemSchema.SharingOriginalMessageEntryId] = HexConverter.HexStringToByteArray(base.StoreObjectId.ToHexEntryId()); sharingMessageItem[InternalSchema.NormalizedSubject] = this[InternalSchema.NormalizedSubject]; sharingMessageItem[InternalSchema.SubjectPrefix] = SharingMessageItem.GetSubjectPrefixFromResponseType(responseType).ToString(this.MailboxSession.InternalPreferedCulture); return(sharingMessageItem); }
public static SharingMessageItem CreateForPublishing(MailboxSession session, StoreId destFolderId, StoreId folderIdToShare) { return(SharingMessageItem.InternalCreate(session, destFolderId, folderIdToShare, SharingProvider.SharingProviderPublish)); }
public static SharingMessageItem Create(MailboxSession session, StoreId destFolderId, StoreId folderIdToShare) { return(SharingMessageItem.InternalCreate(session, destFolderId, folderIdToShare, null)); }