コード例 #1
0
        // Token: 0x060000BC RID: 188 RVA: 0x000086B8 File Offset: 0x000068B8
        private MobileDevice InternalCreateDevice(GlobalInfo globalInfo, ExDateTime syncStorageCreationTime)
        {
            MobileDevice mobileDevice = new MobileDevice();

            mobileDevice.FirstSyncTime  = new DateTime?((DateTime)syncStorageCreationTime.ToUtc());
            mobileDevice.ClientType     = this.clientType;
            mobileDevice.DeviceId       = this.deviceIdentity.DeviceId;
            mobileDevice.DeviceType     = this.deviceIdentity.DeviceType;
            mobileDevice.OrganizationId = this.organizationId;
            if (mobileDevice.ClientType == MobileClientType.EAS)
            {
                mobileDevice.SetExchangeVersion(this.exchangeVersion);
            }
            AirSyncDiagnostics.TraceDebug <string, OrganizationId>(this.tracer, this, "Creating device with DeviceId {0} and OrganizationId {1}.", mobileDevice.DeviceId, mobileDevice.OrganizationId);
            if (this.user != null)
            {
                mobileDevice.UserDisplayName = this.user.ToString();
            }
            GlobalInfo.CopyValuesFromGlobalInfo(mobileDevice, globalInfo);
            return(mobileDevice);
        }
コード例 #2
0
 // Token: 0x060000B0 RID: 176 RVA: 0x0000716C File Offset: 0x0000536C
 internal void UpdateMobileDevice(MobileDevice mobileDevice, GlobalInfo globalInfo)
 {
     if (mobileDevice == null)
     {
         throw new ArgumentNullException("mobileDevice");
     }
     GlobalInfo.CopyValuesFromGlobalInfo(mobileDevice, globalInfo);
     try
     {
         if (this.user != null)
         {
             mobileDevice.UserDisplayName = this.user.ToString();
         }
         ADNotificationAdapter.RunADOperation(delegate()
         {
             this.session.Save(mobileDevice);
         });
         if (this.protocolLogger != null)
         {
             this.protocolLogger.SetValue(ProtocolLoggerData.DomainController, this.session.LastUsedDc);
         }
     }
     catch (ADOperationException ex)
     {
         DirectoryOperationException ex2 = ex.InnerException as DirectoryOperationException;
         if (ex2 != null && ex2.Response != null && ex2.Response.ResultCode == ResultCode.InsufficientAccessRights)
         {
             AirSyncDiagnostics.TraceDebug <string, ADOperationException>(this.tracer, this, "Failed to save MobileDevice data to Active Directory for \"{0}\". \r\nException:\r\n{1}", this.userName, ex);
             AirSyncDiagnostics.LogEvent(this.directoryAccessDeniedEventTuple, new string[]
             {
                 this.userName
             });
             throw new AirSyncPermanentException(HttpStatusCode.Forbidden, StatusCode.AccessDenied, ex, false)
                   {
                       ErrorStringForProtocolLogger = ex2.GetType().FullName + ":ADDeviceSaveAccessDenied"
                   };
         }
         throw;
     }
 }