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