Esempio n. 1
0
        public async Task <IActionResult> UpdateMyProfile([FromBody] UpdateMyProfile userDto)
        {
            userDto.Id = GetIdUser();
            var result = await _userService.UpdateMyProfile(userDto);

            if (!result.IsSuccess)
            {
                return(BadRequest(result));
            }

            return(Ok(result.Response));
        }
Esempio n. 2
0
        public async Task <ServiceResult <UpdateMyProfile> > UpdateMyProfile(UpdateMyProfile userParam)
        {
            var user = _context.Users.Find(userParam.Id);

            if (user == null)
            {
                throw new AppException("User not found");
            }

            if (userParam.UserName != user.UserName)
            {
                // username has changed so check if the new username is already taken
                if (_context.Users.Any(x => x.UserName == userParam.UserName))
                {
                    throw new AppException("El usuario " + userParam.UserName + " ya existe en la db.");
                }
            }

            // update user properties
            user.Dni            = userParam.Dni;
            user.UserName       = userParam.UserName;
            user.Email          = userParam.UserName;
            user.PhoneNumber    = userParam.PhoneNumber;
            user.FirstName      = userParam.FirstName;
            user.LastName       = userParam.LastName;
            user.DistributionId = userParam.DistributionId;

            //actualizo los roles del usuario
            foreach (var role in userParam.RolesUser)
            {
                await UpdateUserRoleWhenModify(user.Id, role.Id, role.RolBelongUser);
            }


            // update password if it was entered
            if (!string.IsNullOrWhiteSpace(userParam.Password))
            {
                user.PasswordHash = _userManager.PasswordHasher.HashPassword(user, userParam.Password);
            }
            _context.Users.Update(user);
            _context.SaveChanges();
            return(new ServiceResult <UpdateMyProfile>(userParam));
        }
Esempio n. 3
0
        public HttpResponseMessage Put(MyProfileApiModel model)
        {
            //System.Threading.Thread.Sleep(2000); // test api latency

            var command = new UpdateMyProfile(User);
            Mapper.Map(model, command);

            try
            {
                _profileUpdateHandler.Handle(command);
            }
            catch (ValidationException ex)
            {
                var badRequest = Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message, "text/plain");
                return badRequest;
            }

            return Request.CreateResponse(HttpStatusCode.OK, "Your profile was saved successfully.");
        }
Esempio n. 4
0
        public async Task <IActionResult> UpdateMyProfile([FromBody] UpdateMyProfile userDto)
        {
            await _userService.UpdateMyProfile(userDto);

            return(Ok());
        }