public async Task <ApplicationUserResponse> UpdateAsync([FromBody] ApplicationUserAddRequest request)
        {
            if (request.password != null && !await _userValidators.ValidatePasswordAsync(request.user, request.password))
            {
                return(GetResponse(false, _userValidators.InvalidPasswordMessage));
            }

            var user = await _applicationUsersRepository.GetByIdAsync(request.user.Id);

            if (user.UserName != request.user.UserName && !await _userValidators.ValidateUserName(request.user.UserName))
            {
                return(GetResponse(false, _userValidators.InvalidUserNameMessage));
            }

            var result = await _applicationUsersRepository.UpdateAsync(request.user);



            if (!result)
            {
                return(GetResponse(false));
            }

            if (request.password != null)
            {
                var passwordChangeResult = await _applicationUsersRepository.ChangePassword(user, request.password);

                if (!passwordChangeResult)
                {
                    return(GetResponse(false));
                }
            }

            return(GetResponse(true));
        }
Esempio n. 2
0
        // GET: ApplicationUsers/Details/5
        public async Task <ActionResult> Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            ApplicationUser applicationUser = await _applicationUserRepository.GetByIdAsync(id);

            if (applicationUser == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new ApplicationUserDetailsViewModel()
            {
                User            = Mapper.Map <ApplicationUserDto>(applicationUser),
                TotalOrders     = await _applicationUserRepository.GetToalOrdersByIdAsync(applicationUser.Id),
                OrdersTotalCost = await _applicationUserRepository.GetTotalOrdersCostByIdAsync(applicationUser.Id)
            };

            return(View(viewModel));
        }