private async Task InsertOrUpdateUserRolePermission(RolePermissionListItems userRolePermissions, UserRole userRoles) { var rolePermissionsByUserRoleId = await _userRolePermissionRepository.GetUserRolePermissionsByUserRoleId(userRoles.Id); if (rolePermissionsByUserRoleId.Count > 0) { foreach (var removedItem in rolePermissionsByUserRoleId) { _userRolePermissionRepository.RemoveEntity(removedItem); } } foreach (var itemForInsert in userRolePermissions.PermissionFlatNode) { var per = await _userPermissionRepository.GetEntityById(itemForInsert.Id); await _userRolePermissionRepository.AddEntity(new UserRolePermission() { Permission = per, UserRole = userRoles }); } }