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(); } }
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(); } }