コード例 #1
0
 protected override void InternalProcessRecord()
 {
     TaskLogger.LogEnter();
     try
     {
         ADSessionSettings adSettings        = ADSessionSettings.RescopeToOrganization(base.SessionSettings, this.DataObject.OrganizationId, true);
         ExchangePrincipal exchangePrincipal = ExchangePrincipal.FromADUser(adSettings, this.DataObject, RemotingOptions.AllowCrossSite);
         if (this.CSV == true)
         {
             CommonLoggingHelper.SyncLogSession.LogDebugging((TSLID)1260UL, "Importing contacts from CSV.", new object[0]);
             if (this.CSVStream != null)
             {
                 this.ImportContactsFromStream(this.CSVStream, exchangePrincipal);
             }
             else
             {
                 using (Stream stream = new MemoryStream(this.CSVData))
                 {
                     this.ImportContactsFromStream(stream, exchangePrincipal);
                 }
             }
         }
         base.InternalProcessRecord();
     }
     catch (ObjectNotFoundException innerException)
     {
         this.WriteDebugInfoAndError(new MailboxFailureException(innerException), (ErrorCategory)1002, this.DataObject);
     }
     finally
     {
         this.WriteDebugInfo();
     }
     TaskLogger.LogExit();
 }
コード例 #2
0
        protected override IConfigDataProvider CreateSession()
        {
            ADSessionSettings       sessionSettings = base.SessionSettings;
            IRecipientSession       tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(base.DomainController, true, ConsistencyMode.IgnoreInvalid, sessionSettings, 88, "CreateSession", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\Mobility\\Aggregation\\GetRemoteAccountSyncCache.cs");
            string                  idStringValue = this.Identity.ToString();
            ADUser                  aduser        = (ADUser)base.GetDataObject <ADUser>(this.Identity.MailboxId, tenantOrRootOrgRecipientSession, null, new LocalizedString?(Strings.ErrorUserNotFound(idStringValue)), new LocalizedString?(Strings.ErrorUserNotUnique(idStringValue)));
            ADSessionSettings       adSettings    = ADSessionSettings.RescopeToOrganization(base.SessionSettings, aduser.OrganizationId, true);
            SubscriptionCacheAction cacheAction   = SubscriptionCacheAction.None;

            if (this.ValidateCache)
            {
                cacheAction = SubscriptionCacheAction.Validate;
            }
            ExchangePrincipal userPrincipal = null;

            try
            {
                userPrincipal = ExchangePrincipal.FromLegacyDN(adSettings, aduser.LegacyExchangeDN, RemotingOptions.AllowCrossSite);
            }
            catch (ObjectNotFoundException exception)
            {
                base.WriteError(exception, ErrorCategory.InvalidArgument, this.Identity.MailboxId);
            }
            return(new CacheDataProvider(cacheAction, userPrincipal));
        }
コード例 #3
0
        protected override IConfigDataProvider CreateSession()
        {
            IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(base.DomainController, true, ConsistencyMode.PartiallyConsistent, base.SessionSettings, 73, "CreateSession", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\Mobility\\Aggregation\\GetSendAddress.cs");

            if (this.Identity != null && this.Identity.MailboxIdParameter != null)
            {
                this.Mailbox = this.Identity.MailboxIdParameter;
            }
            if (this.Mailbox == null)
            {
                this.WriteDebugInfoAndError(new MailboxParameterNotSpecifiedException(), ErrorCategory.InvalidData, this.Mailbox);
            }
            ADUser            aduser     = (ADUser)base.GetDataObject <ADUser>(this.Mailbox, tenantOrRootOrgRecipientSession, null, new LocalizedString?(Strings.ErrorUserNotFound(this.Mailbox.ToString())), new LocalizedString?(Strings.ErrorUserNotUnique(this.Mailbox.ToString())));
            ADSessionSettings adSettings = ADSessionSettings.RescopeToOrganization(base.SessionSettings, aduser.OrganizationId, true);

            try
            {
                this.userPrincipal = ExchangePrincipal.FromADUser(adSettings, aduser, RemotingOptions.AllowCrossSite);
            }
            catch (ObjectNotFoundException exception)
            {
                this.WriteDebugInfoAndError(exception, ErrorCategory.InvalidArgument, this.Mailbox);
            }
            SendAddressDataProvider result = null;

            try
            {
                result = new SendAddressDataProvider(this.userPrincipal, this.Mailbox.ToString());
            }
            catch (MailboxFailureException exception2)
            {
                this.WriteDebugInfoAndError(exception2, ErrorCategory.InvalidArgument, this.Mailbox);
            }
            return(result);
        }
コード例 #4
0
		private void InitializeMailboxPrincipal()
		{
			IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(base.DomainController, true, ConsistencyMode.PartiallyConsistent, base.SessionSettings, 311, "InitializeMailboxPrincipal", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\Mobility\\Aggregation\\NewConnectSubscription.cs");
			ADUser aduser = (ADUser)base.GetDataObject<ADUser>(this.Mailbox, tenantOrRootOrgRecipientSession, null, new LocalizedString?(Strings.ErrorUserNotFound(this.Mailbox.ToString())), new LocalizedString?(Strings.ErrorUserNotUnique(this.Mailbox.ToString())));
			ADSessionSettings adSettings = ADSessionSettings.RescopeToOrganization(base.SessionSettings, aduser.OrganizationId, true);
			this.mailboxPrincipal = ExchangePrincipal.FromADUser(adSettings, aduser, RemotingOptions.AllowCrossSite);
		}
コード例 #5
0
        // Token: 0x060006FE RID: 1790 RVA: 0x0001A440 File Offset: 0x00018640
        internal static IDirectorySession UnderscopeSessionToOrganization(IDirectorySession session, OrganizationId orgId, ADSessionSettings sSettings, bool rehomeDataSession = true)
        {
            ADSessionSettings adsessionSettings  = sSettings ?? session.SessionSettings;
            ADSessionSettings adsessionSettings2 = ADSessionSettings.RescopeToOrganization(adsessionSettings, orgId, rehomeDataSession);

            if (adsessionSettings2 == adsessionSettings)
            {
                return(session);
            }
            return(ADSession.CreateScopedSession(session, adsessionSettings2));
        }