Esempio n. 1
0
        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
                });
            }
        }