protected override void InternalProcessRecord()
 {
     TaskLogger.LogEnter();
     CmdletProxy.ThrowExceptionIfProxyIsNeeded(base.CurrentTaskContext, this.DataObject, false, this.ConfirmationMessage, null);
     try
     {
         ADUser dataObject = this.DataObject;
         if (dataObject == null)
         {
             base.WriteError(new ObjectNotFoundException(Strings.MailboxAssociationMailboxNotFound), ExchangeErrorCategory.Client, this.DataObject);
         }
         else
         {
             IRecipientSession         adSession = (IRecipientSession)base.DataSession;
             MailboxAssociationContext mailboxAssociationContext = new MailboxAssociationContext(adSession, dataObject, "Set-MailboxAssociation", this.Identity, false);
             mailboxAssociationContext.Execute(new Action <MailboxAssociationFromStore, IAssociationAdaptor, ADUser, IExtensibleLogger>(this.UpdateMailboxAssociation));
         }
     }
     catch (StorageTransientException exception)
     {
         base.WriteError(exception, ErrorCategory.ReadError, this.Identity.MailboxId);
     }
     catch (StoragePermanentException exception2)
     {
         base.WriteError(exception2, ErrorCategory.ReadError, this.Identity.MailboxId);
     }
     catch (AssociationNotFoundException exception3)
     {
         base.WriteError(exception3, ErrorCategory.ReadError, this.Identity.MailboxId);
     }
     catch (MailboxNotFoundException exception4)
     {
         base.WriteError(exception4, ErrorCategory.ReadError, this.Identity.MailboxId);
     }
     catch (RpcException exception5)
     {
         base.WriteError(exception5, ErrorCategory.ConnectionError, this.Identity.MailboxId);
     }
     finally
     {
         TaskLogger.LogExit();
     }
 }
예제 #2
0
 protected override void WriteResult(IConfigurable dataObject)
 {
     TaskLogger.LogEnter();
     try
     {
         ADUser aduser = (ADUser)dataObject;
         MailboxAssociationPresentationObject mailboxAssociationPresentationObject = new MailboxAssociationPresentationObject();
         if (!CmdletProxy.TryToProxyOutputObject(mailboxAssociationPresentationObject, base.CurrentTaskContext, aduser, false, this.ConfirmationMessage, null))
         {
             IRecipientSession         adSession = (IRecipientSession)base.DataSession;
             MailboxAssociationContext mailboxAssociationContext = new MailboxAssociationContext(adSession, aduser, "Get-MailboxAssociation", this.Identity, this.IncludeNotPromotedProperties);
             mailboxAssociationContext.Execute(new Action <MailboxAssociationFromStore, IAssociationAdaptor, ADUser, IExtensibleLogger>(this.WriteMailboxAssociation));
         }
         else
         {
             base.WriteResult(mailboxAssociationPresentationObject);
         }
     }
     catch (StorageTransientException exception)
     {
         base.WriteError(exception, ErrorCategory.ReadError, this.Identity.MailboxId);
     }
     catch (StoragePermanentException exception2)
     {
         base.WriteError(exception2, ErrorCategory.ReadError, this.Identity.MailboxId);
     }
     catch (AssociationNotFoundException exception3)
     {
         base.WriteError(exception3, ErrorCategory.ReadError, this.Identity.MailboxId);
     }
     catch (MailboxNotFoundException exception4)
     {
         base.WriteError(exception4, ErrorCategory.ReadError, this.Identity.MailboxId);
     }
     finally
     {
         TaskLogger.LogExit();
     }
 }