예제 #1
0
        public async Task <UserServiceModel> GetById(GetUserServiceModel serviceModel)
        {
            var user = await this.identityContext.Accounts.FirstOrDefaultAsync(x => x.Id == serviceModel.Id.ToString());

            return(new UserServiceModel
            {
                Id = user.Id,
                Email = user.Email,
                UserName = user.UserName,
                FirstName = user.FirstName,
                LastName = user.LastName,
                OrganisationId = user.OrganisationId,
                TwoFactorEnabled = user.TwoFactorEnabled,
                EmailConfirmed = user.EmailConfirmed,
                PhoneNumberConfirmed = user.PhoneNumberConfirmed,
                PhoneNumber = user.PhoneNumber
            });
        }
예제 #2
0
        public async Task <IActionResult> Get(Guid?id)
        {
            var serviceModel = new GetUserServiceModel
            {
                Id = id
            };

            var validator        = new GetUserModelValidator();
            var validationResult = await validator.ValidateAsync(serviceModel);

            if (validationResult != null)
            {
                var user = await this.userService.GetById(serviceModel);

                if (user != null)
                {
                    var response = new UserResponseModel
                    {
                        Id                   = user.Id,
                        UserName             = user.UserName,
                        Email                = user.Email,
                        FirstName            = user.FirstName,
                        LastName             = user.LastName,
                        PhoneNumber          = user.PhoneNumber,
                        TwoFactorEnabled     = user.TwoFactorEnabled,
                        EmailConfirmed       = user.EmailConfirmed,
                        PhoneNumberConfirmed = user.PhoneNumberConfirmed,
                        OrganisationId       = user.OrganisationId.Value,
                    };

                    return(this.StatusCode((int)HttpStatusCode.OK, response));
                }
                else
                {
                    return(this.StatusCode((int)HttpStatusCode.NotFound));
                }
            }
            throw new CustomException(string.Join(ErrorConstants.ErrorMessagesSeparator, validationResult.Errors.Select(x => x.ErrorMessage)), (int)HttpStatusCode.UnprocessableEntity);
        }
        public async Task <SetPasswordFormViewModel> BuildModelAsync(SetPasswordFormComponentModel componentModel)
        {
            var viewModel = new SetPasswordFormViewModel
            {
                Id        = componentModel.Id.Value,
                ReturnUrl = componentModel.ReturnUrl,
                PasswordFormatErrorMessage   = this.globalLocalizer["PasswordFormatErrorMessage"],
                PasswordRequiredErrorMessage = this.globalLocalizer["PasswordRequiredErrorMessage"],
                PasswordLabel             = this.globalLocalizer["EnterPasswordText"],
                ConfirmPasswordLabel      = this.globalLocalizer["EnterConfirmPasswordText"],
                SetPasswordText           = this.accountLocalizer["SetPassword"],
                SubmitUrl                 = this.linkGenerator.GetPathByAction("Index", "IdentityApi", new { Area = "Accounts", culture = CultureInfo.CurrentUICulture.Name }),
                EmailIsConfirmedText      = this.accountLocalizer["EmailIsConfirmedText"],
                BackToLoginText           = this.accountLocalizer["BackToLoginText"],
                GeneralErrorMessage       = this.globalLocalizer.GetString("AnErrorOccurred"),
                PasswordSetSuccessMessage = this.accountLocalizer.GetString("PasswordUpdated")
            };

            if (componentModel.Id.HasValue)
            {
                var serviceModel = new GetUserServiceModel
                {
                    Id       = componentModel.Id.Value,
                    Language = componentModel.Language
                };

                var user = await this.usersService.GetByExpirationId(serviceModel);

                if (user is not null)
                {
                    viewModel.Id = componentModel.Id.Value;
                }
            }

            return(viewModel);
        }