public void SetRolesForUser(int departmentId, string userId, string[] roleIds) { RemoveUserFromAllRoles(userId, departmentId); var roles = GetAllRolesForDepartment(departmentId); foreach (var roleId in roleIds) { var role = roles.FirstOrDefault(x => x.PersonnelRoleId == int.Parse(roleId)); if (role != null) { var roleUser = new PersonnelRoleUser(); roleUser.UserId = userId; roleUser.DepartmentId = departmentId; roleUser.PersonnelRoleId = role.PersonnelRoleId; _personnelRoleUsersRepository.SaveOrUpdate(roleUser); } } }
public async Task <bool> SetRolesForUserAsync(int departmentId, string userId, string[] roleIds, CancellationToken cancellationToken = default(CancellationToken)) { await RemoveUserFromAllRolesAsync(userId, departmentId, cancellationToken); var roles = await GetAllRolesForDepartmentAsync(departmentId); foreach (var roleId in roleIds) { var role = roles.FirstOrDefault(x => x.PersonnelRoleId == int.Parse(roleId)); if (role != null) { var roleUser = new PersonnelRoleUser(); roleUser.UserId = userId; roleUser.DepartmentId = departmentId; roleUser.PersonnelRoleId = role.PersonnelRoleId; await _personnelRoleUsersRepository.InsertAsync(roleUser, cancellationToken); } } return(true); }