示例#1
0
        public Task RemoveFromRoleAsync(AbpUser user, string roleName)
        {
            return(Task.Factory.StartNew(
                       () =>
            {
                using (var uow = new UnitOfWorkScope())
                {
                    var query =
                        from userRole in _userRoleRepository.GetAll()
                        join role in _roleRepository.GetAll() on userRole.RoleId equals role.Id
                        where userRole.UserId == user.Id && role.Name == roleName
                        select userRole;

                    var searchedUserRole = query.FirstOrDefault();

                    if (searchedUserRole == null)
                    {
                        return;
                    }

                    _userRoleRepository.Delete(searchedUserRole);

                    uow.Commit();
                }
            }));
        }