Exemple #1
0
        public virtual async Task <IActionResult> OnPostAsync()
        {
            ValidateModel();

            var input = ObjectMapper.Map <UserInfoViewModel, IdentityUserUpdateDto>(UserInfo);

            input.RoleNames = Roles.Where(r => r.IsAssigned).Select(r => r.Name).ToArray();
            await IdentityUserAppService.UpdateAsync(UserInfo.Id, input);

            var userDepartment = new UserDepartmentUpdateDto
            {
                UserName       = input.UserName,
                DepartmentCode = Department.DepartmentCode
            };

            await UserDepartmentAppService.UpdateAsync(0, userDepartment);

            return(NoContent());
        }
Exemple #2
0
        public virtual async Task <IActionResult> OnGetAsync(Guid id)
        {
            UserInfo = ObjectMapper.Map <IdentityUserDto, UserInfoViewModel>(await IdentityUserAppService.GetAsync(id));

            Roles = ObjectMapper.Map <IReadOnlyList <IdentityRoleDto>, AssignedRoleViewModel[]>((await IdentityUserAppService.GetAssignableRolesAsync()).Items);

            var userRoleNames = (await IdentityUserAppService.GetRolesAsync(UserInfo.Id)).Items.Select(r => r.Name).ToList();

            foreach (var role in Roles)
            {
                if (userRoleNames.Contains(role.Name))
                {
                    role.IsAssigned = true;
                }
            }

            var departmentDtoList = (await DepartmentAppService.GetListAsync(new GetDepartmentsInput
            {
                MaxResultCount = 1000,
                SkipCount = 0
            }));

            Department = ObjectMapper.Map <UserDepartmentDto, AssignedDepartmentViewModel>(await UserDepartmentAppService.GetByUserNameAsync(UserInfo.UserName));

            Departments = departmentDtoList.Items.Select(d =>
            {
                if (Department != null && !Department.DepartmentCode.IsNullOrEmpty())
                {
                    return(new SelectListItem
                    {
                        Selected = true,
                        Text = d.Name,
                        Value = d.Code
                    });
                }

                return(new SelectListItem
                {
                    Text = d.Name,
                    Value = d.Code
                });
            }).ToList();

            return(Page());
        }