protected override IConfigurable ConvertDataObjectToPresentationObject(IConfigurable dataObject) { ReducedRecipient reducedRecipient = (ReducedRecipient)dataObject; if (reducedRecipient == null) { return(null); } if (this.ShouldReadProperties(new ADPropertyDefinition[] { ReducedRecipientSchema.OwaMailboxPolicy, ReducedRecipientSchema.SharingPolicy, ReducedRecipientSchema.RetentionPolicy }) && reducedRecipient.RecipientType == Microsoft.Exchange.Data.Directory.Recipient.RecipientType.UserMailbox) { SharedConfiguration sharedConfig = null; if (SharedConfiguration.IsDehydratedConfiguration(reducedRecipient.OrganizationId) || (SharedConfiguration.GetSharedConfigurationState(reducedRecipient.OrganizationId) & SharedTenantConfigurationState.Static) != SharedTenantConfigurationState.UnSupported) { sharedConfig = SharedConfiguration.GetSharedConfiguration(reducedRecipient.OrganizationId); } if (this.ShouldReadProperties(new ADPropertyDefinition[] { ReducedRecipientSchema.OwaMailboxPolicy }) && reducedRecipient.OwaMailboxPolicy == null) { ADObjectId defaultOwaMailboxPolicyId = this.GetDefaultOwaMailboxPolicyId(reducedRecipient); if (defaultOwaMailboxPolicyId != null) { reducedRecipient.OwaMailboxPolicy = defaultOwaMailboxPolicyId; } } if (this.ShouldReadProperties(new ADPropertyDefinition[] { ReducedRecipientSchema.SharingPolicy }) && reducedRecipient.SharingPolicy == null) { reducedRecipient.SharingPolicy = base.GetDefaultSharingPolicyId(reducedRecipient, sharedConfig); } if (this.ShouldReadProperties(new ADPropertyDefinition[] { ReducedRecipientSchema.RetentionPolicy }) && reducedRecipient.RetentionPolicy == null && reducedRecipient.ShouldUseDefaultRetentionPolicy) { reducedRecipient.RetentionPolicy = base.GetDefaultRetentionPolicyId(reducedRecipient, sharedConfig); } } if (this.ShouldReadProperties(new ADPropertyDefinition[] { ReducedRecipientSchema.ActiveSyncMailboxPolicy, ReducedRecipientSchema.ActiveSyncMailboxPolicyIsDefaulted }) && reducedRecipient.ActiveSyncMailboxPolicy == null && !reducedRecipient.ExchangeVersion.IsOlderThan(ReducedRecipientSchema.ActiveSyncMailboxPolicy.VersionAdded)) { ADObjectId defaultPolicyId = base.GetDefaultPolicyId(reducedRecipient); if (defaultPolicyId != null) { reducedRecipient.ActiveSyncMailboxPolicy = defaultPolicyId; reducedRecipient.ActiveSyncMailboxPolicyIsDefaulted = true; } } if (this.ShouldReadProperties(new ADPropertyDefinition[] { ReducedRecipientSchema.AuthenticationType }) && reducedRecipient.OrganizationId.ConfigurationUnit != null) { SmtpAddress windowsLiveID = reducedRecipient.WindowsLiveID; if (reducedRecipient.WindowsLiveID.Domain != null && !reducedRecipient.ExchangeVersion.IsOlderThan(ExchangeObjectVersion.Exchange2010)) { reducedRecipient.AuthenticationType = MailboxTaskHelper.GetNamespaceAuthenticationType(reducedRecipient.OrganizationId, reducedRecipient.WindowsLiveID.Domain); } } if (this.ShouldReadProperties(new ADPropertyDefinition[] { ReducedRecipientSchema.Capabilities })) { reducedRecipient.PopulateCapabilitiesProperty(); } return(reducedRecipient); }