예제 #1
0
        /// <summary>
        /// The GetUserProfile
        /// </summary>
        /// <param name="userToken">The userToken<see cref="UserToken"/></param>
        /// <param name="request">The request<see cref="GetUserProfileRequest"/></param>
        /// <returns>The <see cref="Task{ResponseData{GetUserProfileResponse}}"/></returns>
        public async Task <ResponseData <GetUserProfileResponse> > GetUserProfile(UserToken userToken, GetUserProfileRequest request)
        {
            try
            {
                var response = new ResponseData <GetUserProfileResponse>();

                var user = await CheckAccess(userToken, request.Id);

                GetUserProfileResponse profile = new GetUserProfileResponse(user);

                if (profile == null)
                {
                    throw new ServiceException("Неправильный пользователь");
                }


                response.code = BaseStatus.Success;
                response.data = profile;
                return(response);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "could not get user profile");

                return(new ResponseData <GetUserProfileResponse>
                {
                    code = BaseStatus.Exception,
                    message = "Ошибка",
                    description = "Не удалось получить профиль"
                });
            }
        }
        public void RetrieveProfileGoodUserTest()
        {
            // Act
            GetUserProfileResponse res = secAuthSvc.User.GetUserProfile(goodUsername);

            // Assert
            Assert.AreEqual(Constants.ResponseStatus.Found, res.Status);
        }
예제 #3
0
        public ActionResult Update(Guid id)
        {
            var request = new GetUserProfileRequest
            {
                Id         = id,
                CustomerId = Customer.CustomerId,
                UserType   = UserType.SystemUser
            };
            GetUserProfileResponse response = _userService.GetUserProfile(request);

            return(View(response.UsersUpdateModel));
        }
예제 #4
0
        public GetUserProfileResponse GetUserProfile(GetUserProfileRequest request)
        {
            GetUserProfileResponse response = new GetUserProfileResponse();

            User user = _userRepository.Get(request.Id);

            response.UsersUpdateModel = Mapper.Map <UsersUpdateModel>(user);
            response.UsersUpdateModel.SecurityQuestionOptions = new SelectList(GetSecurityQuestions(request.CustomerId));
            response.UsersUpdateModel.UpdateQuestionIndexes();
            response.UsersUpdateModel.Roles = GetRolesSelectList(request.UserType, request.CustomerId);

            return(response);
        }
        public GetUserProfileResponse GetUserProfile(GetUserProfileRequest getUserProfileRequest)
        {
            GetUserProfileResponse getUserProfileResponse = null;

            if (getUserProfileRequest.Id > 0)
            {
                var userprofile    = _userprofileRepository.FindUserProfileById(getUserProfileRequest.Id);
                var userprofileDto = _messageMapper.MapToUserProfileDto(userprofile);

                getUserProfileResponse = new GetUserProfileResponse
                {
                    UserProfile = userprofileDto
                };
            }

            return(getUserProfileResponse);
        }
        public async Task <GetUserProfileResponse> GetUserProfileByLogin(GetUserProfileRequest getUserProfileRequest)
        {
            GetUserProfileResponse getUserProfileResponse = null;

            if (getUserProfileRequest.WhatsAppNumber != null && getUserProfileRequest.SMID != null)
            {
                var userprofile = await _userprofileRepository.FindUserProfileByLoginDetails(getUserProfileRequest.WhatsAppNumber, getUserProfileRequest.SMID);

                var userprofileDto = _messageMapper.MapToUserProfileDto(userprofile);

                getUserProfileResponse = new GetUserProfileResponse
                {
                    UserProfile = userprofileDto
                };
            }

            return(getUserProfileResponse);
        }
예제 #7
0
        public async Task <IActionResult> GetUserProfile()
        {
            try
            {
                var id   = HttpContext.User.FindFirst(ClaimTypes.Email).Value;
                var user = await _userManager.FindByEmailAsync(id);

                var profile = _userCommand.GetUserProfile(user).Result;


                var response = new GetUserProfileResponse()
                {
                    UserProfileDto = profile
                };

                return(Ok(response));
            }
            catch (Exception e)
            {
                _logger.LogError($"error while getting profile for user: {e}");
                return(StatusCode((int)HttpStatusCode.InternalServerError, "error while getting profile for user"));
            }
        }