private void CloneRoleAssignment(ExchangeRole newRole, ExchangeRoleAssignment oldRoleAssignment) { ExTraceGlobals.AccessCheckTracer.TraceFunction <string, string, string>(20008L, "-->CloneRoleAssignment: newRole.Name = {0}, oldRoleAssignment.Name = {1}, oldRoleAssignment.User.Name = {2}", newRole.Name, oldRoleAssignment.Name, oldRoleAssignment.User.Name); ExchangeRoleAssignment exchangeRoleAssignment = new ExchangeRoleAssignment(); exchangeRoleAssignment.ProvisionalClone(oldRoleAssignment); exchangeRoleAssignment.SetExchangeVersion(oldRoleAssignment.ExchangeVersion); exchangeRoleAssignment.Role = newRole.Id; this.settings.ConfigurationSession.SessionSettings.IsSharedConfigChecked = true; string text = RoleAssignmentHelper.GenerateUniqueRoleAssignmentName(this.settings.ConfigurationSession, this.settings.OrgContainerId, newRole.Name, oldRoleAssignment.User.Name, oldRoleAssignment.RoleAssignmentDelegationType, this.settings.WriteVerbose); exchangeRoleAssignment.SetId(this.settings.OrgContainerId.GetDescendantId(ExchangeRoleAssignment.RdnContainer).GetChildId(text)); ExTraceGlobals.AccessCheckTracer.TraceFunction <string>(20008L, "----CloneRoleAssignment: newRoleAssignmentName = {0}", text); this.settings.WriteVerbose(TaskVerboseStringHelper.GetSaveObjectVerboseString(exchangeRoleAssignment, this.settings.ConfigurationSession, typeof(ExchangeRoleAssignment))); this.settings.ConfigurationSession.Save(exchangeRoleAssignment); this.settings.LogWriteObject(exchangeRoleAssignment); ExTraceGlobals.AccessCheckTracer.TraceFunction(20008L, "<--CloneRoleAssignment"); }
///GENMHASH:35C41CF8EA2B651DBCD26FE5A9B115F3:5000AB36D4511145216DD6380463F729 internal IdentityImpl(string name, IdentityInner innerModel, IMsiManager manager) : base(name, innerModel, manager) { this.roleAssignmentHelper = new RoleAssignmentHelper(manager.GraphRbacManager, this.IdProvider()); }