Esempio n. 1
0
        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);
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        protected MailboxSession OpenMailboxSession(AggregationSubscriptionIdentity subscriptionIdentity)
        {
            ExchangePrincipal exchangePrincipal = ExchangePrincipal.FromLegacyDN(this.recipientSession.SessionSettings, subscriptionIdentity.LegacyDN, RemotingOptions.AllowCrossSite);

            return(this.OpenMailboxSession(exchangePrincipal));
        }
Esempio n. 6
0
 public static Identity ToIdentity(this AggregationSubscriptionIdentity id, string displayName)
 {
     return(new Identity(id.GuidIdentityString, displayName));
 }
Esempio n. 7
0
 public CacheIdParameter(AggregationSubscriptionIdentity subscriptionIdentity) : this(subscriptionIdentity.AdUserId)
 {
 }