public IConfigurable Read <T>(ObjectId identity) where T : IConfigurable, new() { AggregationSubscriptionIdentity aggregationSubscriptionIdentity = (AggregationSubscriptionIdentity)identity; try { using (MailboxSession mailboxSession = this.OpenMailboxSession(aggregationSubscriptionIdentity)) { bool upgradeIfRequired = this.ShouldUpgradeIfRequired(); PimAggregationSubscription pimAggregationSubscription = (PimAggregationSubscription)SubscriptionManager.GetSubscription(mailboxSession, aggregationSubscriptionIdentity.SubscriptionId, upgradeIfRequired); PimSubscriptionProxy pimSubscriptionProxy = pimAggregationSubscription.CreateSubscriptionProxy(); if (this.loadReport) { ReportData reportData = SkippedItemUtilities.GetReportData(aggregationSubscriptionIdentity.SubscriptionId); reportData.Load(mailboxSession.Mailbox.MapiStore); pimSubscriptionProxy.Report = reportData.ToReport(); } return(pimSubscriptionProxy); } } catch (LocalizedException ex) { CommonLoggingHelper.SyncLogSession.LogError((TSLID)1365UL, AggregationTaskUtils.Tracer, "Read: {0} hit exception: {1}.", new object[] { aggregationSubscriptionIdentity, ex }); } return(null); }
public override void Delete(IConfigurable instance) { ConnectSubscriptionProxy connectSubscriptionProxy = instance as ConnectSubscriptionProxy; ConnectSubscription connectSubscription = (ConnectSubscription)connectSubscriptionProxy.Subscription; AggregationSubscriptionIdentity subscriptionIdentity = connectSubscription.SubscriptionIdentity; try { using (MailboxSession mailboxSession = base.OpenMailboxSession(subscriptionIdentity)) { ConnectSubscriptionCleanup connectSubscriptionCleanup = new ConnectSubscriptionCleanup(SubscriptionManager.Instance); connectSubscriptionCleanup.Cleanup(mailboxSession, connectSubscription, true); new PeopleConnectNotifier(mailboxSession).NotifyDisconnected(connectSubscription.Name); } } catch (LocalizedException ex) { CommonLoggingHelper.SyncLogSession.LogError((TSLID)1507UL, AggregationTaskUtils.Tracer, "ConnectSubscriptionDataProvider.Delete: {0} hit exception: {1}.", new object[] { connectSubscription.Name, ex }); Exception ex2 = ex; if (!(ex is FailedDeletePeopleConnectSubscriptionException)) { ex2 = new FailedDeletePeopleConnectSubscriptionException(connectSubscription.SubscriptionType, ex); } throw ex2; } }
public void Initialize(ObjectId subId) { AggregationSubscriptionIdentity aggregationSubscriptionIdentity = subId as AggregationSubscriptionIdentity; if (aggregationSubscriptionIdentity != null) { this.subscriptionIdentity = aggregationSubscriptionIdentity; this.mailboxId = new MailboxIdParameter(aggregationSubscriptionIdentity.AdUserId); } }
protected override void OnLoad(EventArgs e) { string subscriptionTypeParam = this.Context.Request.QueryString["st"]; string subscriptionGuidParam = this.Context.Request.QueryString["su"]; string text = this.Context.Request.QueryString["ss"]; AggregationSubscriptionType aggregationSubscriptionType; Guid subscriptionId; string queryParam; if (!this.ValidateUrlParameters(subscriptionTypeParam, subscriptionGuidParam, text, out aggregationSubscriptionType, out subscriptionId, out queryParam)) { throw new BadQueryParameterException(queryParam); } ADObjectId executingUserId = RbacPrincipal.Current.ExecutingUserId; AggregationSubscriptionIdentity subId = new AggregationSubscriptionIdentity(executingUserId, subscriptionId); AggregationSubscriptionIdParameter aggregationSubscriptionIdParameter = new AggregationSubscriptionIdParameter(subId); string text2 = aggregationSubscriptionIdParameter.ToString(); if (text2 == null) { ErrorHandlingUtil.TransferToErrorPage("unexpected"); return; } if (aggregationSubscriptionType == AggregationSubscriptionType.Pop) { PopSubscriptions popSubscriptions = new PopSubscriptions(); SetPopSubscription setPopSubscription = new SetPopSubscription(); setPopSubscription.ValidateSecret = text; setPopSubscription.AllowExceuteThruHttpGetRequest = true; Identity identity = new Identity(text2, text2); PowerShellResults <PopSubscription> results = popSubscriptions.SetObject(identity, setPopSubscription); this.DisplayResults <PopSubscription>(results); return; } ImapSubscriptions imapSubscriptions = new ImapSubscriptions(); SetImapSubscription setImapSubscription = new SetImapSubscription(); setImapSubscription.ValidateSecret = text; setImapSubscription.AllowExceuteThruHttpGetRequest = true; Identity identity2 = new Identity(text2, text2); PowerShellResults <ImapSubscription> results2 = imapSubscriptions.SetObject(identity2, setImapSubscription); this.DisplayResults <ImapSubscription>(results2); }
protected MailboxSession OpenMailboxSession(AggregationSubscriptionIdentity subscriptionIdentity) { ExchangePrincipal exchangePrincipal = ExchangePrincipal.FromLegacyDN(this.recipientSession.SessionSettings, subscriptionIdentity.LegacyDN, RemotingOptions.AllowCrossSite); return(this.OpenMailboxSession(exchangePrincipal)); }
public static Identity ToIdentity(this AggregationSubscriptionIdentity id, string displayName) { return(new Identity(id.GuidIdentityString, displayName)); }
public CacheIdParameter(AggregationSubscriptionIdentity subscriptionIdentity) : this(subscriptionIdentity.AdUserId) { }