private void InternalResolveLocalSecondaryIdentities() { SyncMailUser syncMailUser = (SyncMailUser)this.GetDynamicParameters(); base.SetReferenceParameter <UserContactIdParameter>(SyncMailUserSchema.Manager, this.Manager, syncMailUser, new GetRecipientDelegate <UserContactIdParameter>(this.GetRecipient)); base.SetReferenceParameter <RecipientIdParameter>(MailUserSchema.ForwardingAddress, this.ForwardingAddress, syncMailUser, new GetRecipientDelegate <RecipientIdParameter>(this.GetRecipient)); base.SetMultiReferenceParameter <DeliveryRecipientIdParameter>(MailEnabledRecipientSchema.BypassModerationFrom, this.BypassModerationFrom, syncMailUser, new GetRecipientDelegate <DeliveryRecipientIdParameter>(this.GetRecipient), new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual)); base.SetMultiReferenceParameter <DeliveryRecipientIdParameter>(MailEnabledRecipientSchema.BypassModerationFromDLMembers, this.BypassModerationFromDLMembers, syncMailUser, new GetRecipientDelegate <DeliveryRecipientIdParameter>(this.GetRecipient), new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionGroup)); if (base.Fields.IsModified("IntendedMailboxPlan")) { this.intendedMailboxPlanObject = null; if (this.IntendedMailboxPlanName != null) { this.intendedMailboxPlanObject = base.ProvisioningCache.TryAddAndGetOrganizationDictionaryValue <ADUser, string>(CannedProvisioningCacheKeys.CacheKeyMailboxPlanIdParameterId, base.CurrentOrganizationId, this.IntendedMailboxPlanName.RawIdentity, () => (ADUser)base.GetDataObject <ADUser>(this.IntendedMailboxPlanName, base.TenantGlobalCatalogSession, null, new LocalizedString?(Strings.ErrorMailboxPlanNotFound(this.IntendedMailboxPlanName.ToString())), new LocalizedString?(Strings.ErrorMailboxPlanNotUnique(this.IntendedMailboxPlanName.ToString())), ExchangeErrorCategory.Client)); } } base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >("RawAcceptMessagesOnlyFrom", MailEnabledRecipientSchema.AcceptMessagesOnlyFrom, this.RawAcceptMessagesOnlyFrom, "RawAcceptMessagesOnlyFrom", syncMailUser, new GetRecipientDelegate <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >("RawBypassModerationFrom", MailEnabledRecipientSchema.BypassModerationFrom, this.RawBypassModerationFrom, "RawBypassModerationFrom", syncMailUser, new GetRecipientDelegate <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >("RawRejectMessagesFrom", MailEnabledRecipientSchema.RejectMessagesFrom, this.RawRejectMessagesFrom, "RawRejectMessagesFrom", syncMailUser, new GetRecipientDelegate <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <RecipientIdParameter> >("RawGrantSendOnBehalfTo", MailEnabledRecipientSchema.GrantSendOnBehalfTo, this.RawGrantSendOnBehalfTo, "RawGrantSendOnBehalfTo", syncMailUser, new GetRecipientDelegate <RecipientWithAdUserIdParameter <RecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateGrantSendOnBehalfTo))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <ModeratorIDParameter> >("RawModeratedBy", MailEnabledRecipientSchema.ModeratedBy, this.RawModeratedBy, "RawModeratedBy", syncMailUser, new GetRecipientDelegate <RecipientWithAdUserIdParameter <ModeratorIDParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(RecipientTaskHelper.ValidateModeratedBy))); base.SetReferenceParameter <RecipientWithAdUserIdParameter <RecipientIdParameter> >("RawForwardingAddress", MailUserSchema.ForwardingAddress, this.RawForwardingAddress, "RawForwardingAddress", syncMailUser, new GetRecipientDelegate <RecipientWithAdUserIdParameter <RecipientIdParameter> >(this.GetRecipient), null); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <RecipientIdParameter> >("RawSiteMailboxOwners", SyncMailUserSchema.SiteMailboxOwners, this.RawSiteMailboxOwners, "RawSiteMailboxOwners", syncMailUser, new GetRecipientDelegate <RecipientWithAdUserIdParameter <RecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(SetSyncMailUser.ValidateSiteMailboxUsers))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <RecipientIdParameter> >("RawSiteMailboxUsers", SyncMailUserSchema.SiteMailboxUsers, this.RawSiteMailboxUsers, "RawSiteMailboxUsers", syncMailUser, new GetRecipientDelegate <RecipientWithAdUserIdParameter <RecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(SetSyncMailUser.ValidateSiteMailboxUsers))); if (base.Fields.IsModified(SyncMailUserSchema.SiteMailboxOwners)) { MultiValuedProperty <ADObjectId> value = SetSyncMailUser.ResolveSiteMailboxOwnersReferenceParameter(this.SiteMailboxOwners, base.TenantGlobalCatalogSession, new DataAccessHelper.CategorizedGetDataObjectDelegate(base.GetDataObject <ADRecipient>), new WriteWarningDelegate(this.WriteWarning)); syncMailUser[SyncMailUserSchema.SiteMailboxOwners] = value; } base.SetMultiReferenceParameter <RecipientIdParameter>(SyncMailUserSchema.SiteMailboxUsers, SyncMailUserSchema.SiteMailboxUsers, this.SiteMailboxUsers, "SiteMailboxUsers", syncMailUser, new GetRecipientDelegate <RecipientIdParameter>(this.GetRecipient), new ValidateRecipientDelegate(SetSyncMailUser.ValidateSiteMailboxUsers)); }
protected override void ResolveLocalSecondaryIdentities() { base.ResolveLocalSecondaryIdentities(); SyncDistributionGroup dataObject = (SyncDistributionGroup)this.GetDynamicParameters(); base.SetMultiReferenceParameter <DeliveryRecipientIdParameter>(MailEnabledRecipientSchema.BypassModerationFrom, this.BypassModerationFrom, dataObject, new GetRecipientDelegate <DeliveryRecipientIdParameter>(this.GetRecipient), new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual)); base.SetMultiReferenceParameter <DeliveryRecipientIdParameter>(MailEnabledRecipientSchema.BypassModerationFromDLMembers, this.BypassModerationFromDLMembers, dataObject, new GetRecipientDelegate <DeliveryRecipientIdParameter>(this.GetRecipient), new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionGroup)); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >("RawAcceptMessagesOnlyFrom", MailEnabledRecipientSchema.AcceptMessagesOnlyFrom, this.RawAcceptMessagesOnlyFrom, "RawAcceptMessagesOnlyFrom", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >("RawBypassModerationFrom", MailEnabledRecipientSchema.BypassModerationFrom, this.RawBypassModerationFrom, "RawBypassModerationFrom", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >("RawRejectMessagesFrom", MailEnabledRecipientSchema.RejectMessagesFrom, this.RawRejectMessagesFrom, "RawRejectMessagesFrom", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <RecipientIdParameter> >("RawGrantSendOnBehalfTo", MailEnabledRecipientSchema.GrantSendOnBehalfTo, this.RawGrantSendOnBehalfTo, "RawGrantSendOnBehalfTo", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <RecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateGrantSendOnBehalfTo))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <ModeratorIDParameter> >("RawModeratedBy", MailEnabledRecipientSchema.ModeratedBy, this.RawModeratedBy, "RawModeratedBy", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <ModeratorIDParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(RecipientTaskHelper.ValidateModeratedBy))); base.SetReferenceParameter <RecipientWithAdUserIdParameter <RecipientIdParameter> >(ADGroupSchema.RawManagedBy, this.RawManagedBy, dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <RecipientIdParameter> >(this.GetRecipient)); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <RecipientIdParameter> >("RawCoManagedBy", SyncDistributionGroupSchema.CoManagedBy, this.RawCoManagedBy, "RawCoManagedBy", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <RecipientIdParameter> >(this.GetRecipient), null); base.SetMultiReferenceParameter <RecipientWithAdUserGroupIdParameter <RecipientIdParameter> >("RawMembers", SyncDistributionGroupSchema.Members, this.RawMembers, "RawMembers", dataObject, new GetRecipientDelegate <RecipientWithAdUserGroupIdParameter <RecipientIdParameter> >(this.GetRecipient), null); }
private void InternalResolveLocalSecondaryIdentities() { SyncMailbox dataObject = (SyncMailbox)this.GetDynamicParameters(); base.SetReferenceParameter <UserContactIdParameter>(SyncMailboxSchema.Manager, this.Manager, dataObject, new GetRecipientDelegate <UserContactIdParameter>(this.GetRecipient)); base.SetMultiReferenceParameter <DeliveryRecipientIdParameter>(MailEnabledRecipientSchema.BypassModerationFrom, this.BypassModerationFrom, dataObject, new GetRecipientDelegate <DeliveryRecipientIdParameter>(this.GetRecipient), new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual)); base.SetMultiReferenceParameter <DeliveryRecipientIdParameter>(MailEnabledRecipientSchema.BypassModerationFromDLMembers, this.BypassModerationFromDLMembers, dataObject, new GetRecipientDelegate <DeliveryRecipientIdParameter>(this.GetRecipient), new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionGroup)); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >("RawAcceptMessagesOnlyFrom", MailEnabledRecipientSchema.AcceptMessagesOnlyFrom, this.RawAcceptMessagesOnlyFrom, "RawAcceptMessagesOnlyFrom", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >("RawBypassModerationFrom", MailEnabledRecipientSchema.BypassModerationFrom, this.RawBypassModerationFrom, "RawBypassModerationFrom", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >("RawRejectMessagesFrom", MailEnabledRecipientSchema.RejectMessagesFrom, this.RawRejectMessagesFrom, "RawRejectMessagesFrom", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <DeliveryRecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateMessageDeliveryRestrictionIndividual))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <RecipientIdParameter> >("RawGrantSendOnBehalfTo", MailEnabledRecipientSchema.GrantSendOnBehalfTo, this.RawGrantSendOnBehalfTo, "RawGrantSendOnBehalfTo", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <RecipientIdParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(base.ValidateGrantSendOnBehalfTo))); base.SetMultiReferenceParameter <RecipientWithAdUserIdParameter <ModeratorIDParameter> >("RawModeratedBy", MailEnabledRecipientSchema.ModeratedBy, this.RawModeratedBy, "RawModeratedBy", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <ModeratorIDParameter> >(this.GetRecipient), SyncTaskHelper.ValidateBypassADUser(new ValidateRecipientDelegate(RecipientTaskHelper.ValidateModeratedBy))); base.SetReferenceParameter <RecipientWithAdUserIdParameter <RecipientIdParameter> >("RawForwardingAddress", MailboxSchema.ForwardingAddress, this.RawForwardingAddress, "RawForwardingAddress", dataObject, new GetRecipientDelegate <RecipientWithAdUserIdParameter <RecipientIdParameter> >(this.GetRecipient), null); }