protected virtual void Users_OverrideADRoles_FieldUpdating(PXCache sender, PXFieldUpdatingEventArgs e) { Users user = (Users)e.Row; bool oldval = user.OverrideADRoles == true; bool newval = e.NewValue != null?Convert.ToBoolean(e.NewValue) : false; if (oldval != newval && !newval && user.Source == PXUsersSourceListAttribute.ActiveDirectory && RolesByUser.SelectSingle() != null) { if (UserList.Ask(PX.Objects.CR.Messages.Confirmation, PXMessages.LocalizeFormatNoPrefixNLA(PX.Objects.CR.Messages.DeleteLocalRoles, user.Username), MessageButtons.YesNo, MessageIcon.Warning) != WebDialogResult.Yes) { e.NewValue = true; e.Cancel = true; } else { //delete UsersInRoles records if overridead is disabled. foreach (UsersInRoles role in RolesByUser.Select()) { RolesByUser.Delete(role); } } } }
protected virtual void Users_OverrideADRoles_FieldUpdating(PXCache sender, PXFieldUpdatingEventArgs e) { Users user = (Users)e.Row; bool oldval = user.OverrideADRoles == true; bool newval = (bool?)e.NewValue == true; if (oldval != newval && !newval && ((UsersInRoles)PXSelect <UsersInRoles, Where <UsersInRoles.applicationName, Equal <Current <Users.applicationName> >, And <UsersInRoles.username, Equal <Current <Users.username> > > > > .SelectSingleBound(this, new object[0])) != null && UserList.Ask(PX.Objects.CR.Messages.Confirmation, string.Format(PX.Objects.CR.Messages.DeleteLocalRoles, user.Username), MessageButtons.YesNo, MessageIcon.Warning) != WebDialogResult.Yes) { e.NewValue = true; e.Cancel = true; } }