internal PublishingSubscriptionData(VersionedId id, string dataType, Uri publishingUrl, string remoteFolderName, StoreObjectId localFolderId) { this.Id = id; this.DataType = SharingDataType.FromPublishName(dataType); this.PublishingUrl = publishingUrl; this.RemoteFolderName = remoteFolderName; this.LocalFolderId = localFolderId; this.Key = new PublishingSubscriptionKey(this.PublishingUrl); }
private void ReadFromMessageXProperties(MessageItem messageItem) { string valueOrDefault = messageItem.GetValueOrDefault <string>(InternalSchema.XSharingFlavor, null); if (valueOrDefault == null) { ExTraceGlobals.SharingTracer.TraceError <string>((long)this.GetHashCode(), "{0}: XSharingFlavor is missing", messageItem.Session.UserLegacyDN); throw new InvalidSharingMessageException("XSharingFlavor"); } try { this.context.SharingFlavor = (SharingFlavor)int.Parse(valueOrDefault, NumberStyles.HexNumber); } catch (FormatException) { ExTraceGlobals.SharingTracer.TraceError <string, string>((long)this.GetHashCode(), "{0}: XSharingFlavor is invalid: {1}", messageItem.Session.UserLegacyDN, valueOrDefault); throw new InvalidSharingMessageException("XSharingFlavor"); } string valueOrDefault2 = messageItem.GetValueOrDefault <string>(InternalSchema.XSharingRemoteType, null); if (valueOrDefault2 == null) { ExTraceGlobals.SharingTracer.TraceError <string>((long)this.GetHashCode(), "{0}: XSharingRemoteType is missing.", messageItem.Session.UserLegacyDN); throw new InvalidSharingMessageException("XSharingRemoteType"); } if (SharingDataType.FromPublishName(valueOrDefault2) == null) { ExTraceGlobals.SharingTracer.TraceError <string, string>((long)this.GetHashCode(), "{0}: XSharingRemoteType is invalid: {1}.", messageItem.Session.UserLegacyDN, valueOrDefault2); throw new InvalidSharingMessageException("XSharingRemoteType"); } string valueOrDefault3 = messageItem.GetValueOrDefault <string>(InternalSchema.XSharingLocalType, null); if (valueOrDefault3 == null) { ExTraceGlobals.SharingTracer.TraceError <string>((long)this.GetHashCode(), "{0}: XSharingLocalType is missing.", messageItem.Session.UserLegacyDN); throw new InvalidSharingMessageException("XSharingLocalType"); } if (SharingDataType.FromContainerClass(valueOrDefault3) == null) { ExTraceGlobals.SharingTracer.TraceError <string, string>((long)this.GetHashCode(), "{0}: XSharingLocalType is invalid: {1}.", messageItem.Session.UserLegacyDN, valueOrDefault3); throw new InvalidSharingMessageException("XSharingLocalType"); } this.context.FolderClass = valueOrDefault3; string valueOrDefault4 = messageItem.GetValueOrDefault <string>(InternalSchema.XSharingRemoteName, null); if (valueOrDefault4 == null) { ExTraceGlobals.SharingTracer.TraceError <string>((long)this.GetHashCode(), "{0}: XSharingRemoteName is missing.", messageItem.Session.UserLegacyDN); throw new InvalidSharingMessageException("XSharingRemoteName"); } this.context.FolderName = valueOrDefault4; Uri uri = null; string valueOrDefault5 = messageItem.GetValueOrDefault <string>(InternalSchema.XSharingBrowseUrl, null); if (string.IsNullOrEmpty(valueOrDefault5)) { ExTraceGlobals.SharingTracer.TraceDebug <string>((long)this.GetHashCode(), "{0}: XSharingBrowseUrl is missing or empty.", messageItem.Session.UserLegacyDN); } else { if (!PublishingUrl.IsAbsoluteUriString(valueOrDefault5, out uri)) { ExTraceGlobals.SharingTracer.TraceError <string, string>((long)this.GetHashCode(), "{0}: XSharingBrowseUrl is not well formed : {1}", messageItem.Session.UserLegacyDN, valueOrDefault5); throw new InvalidSharingMessageException("XSharingBrowseUrl"); } this.context.BrowseUrl = valueOrDefault5; } string valueOrDefault6 = messageItem.GetValueOrDefault <string>(InternalSchema.XSharingRemotePath, null); if (valueOrDefault6 == null) { ExTraceGlobals.SharingTracer.TraceError <string>((long)this.GetHashCode(), "{0}: XSharingRemotePath is missing.", messageItem.Session.UserLegacyDN); throw new InvalidSharingMessageException("XSharingRemotePath"); } if (!PublishingUrl.IsAbsoluteUriString(valueOrDefault6, out uri)) { ExTraceGlobals.SharingTracer.TraceError <string, string>((long)this.GetHashCode(), "{0}: XSharingRemotePath is not well formed : {1}", messageItem.Session.UserLegacyDN, valueOrDefault6); throw new InvalidSharingMessageException("XSharingRemotePath"); } this.context.ICalUrl = valueOrDefault6; }