foreach (var user in users.Entities)
{
User userEntity = user.ToEntity<User>();
bool errored = false;
String error = //;
try
{
var userRolesCollection = GetService<CompanyService>().getUserRoles(userEntity.Id);
if (userRolesCollection != null && userRolesCollection.Entities.Any())
{
// Check if the role to be associated is already present in the user's roles
bool roleAlreadyAssigned = userRolesCollection.Entities.Any(entity =>
{
var roleId = (Guid)entity[/roleid/];
return roleId == roleWithNewBU.Id;
});
if (!roleAlreadyAssigned)
{
GetRepository<UserRepository>().AssociateUserRole(userEntity.Id, role);
}
}
}
catch (Exception e)
{
errored = true;
error = e.Message.ToString();
if (context.Mode == 0)
{
throw new InvalidPluginExecutionException(e.Message);
}
}
finally
{
userEntity.AccessMatrixFamilySyncError = errored;
userEntity.AccessMatrixFamilySyncErrorDesc = error;
userEntity.AccessMatrixFamilySyncDate = DateTime.Now;
OrganizationServiceAdmin.Update(userEntity);
}
if (errored)
{
continue;
}
}