Beispiel #1
0
        public async Task <IActionResult> UpdateUserInformation(int id, UserInfoUpdateDTO userInfoDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (userInfoDTO == null)
            {
                throw new ArgumentNullException(nameof(userInfoDTO));
            }
            userInfoDTO.Username = userInfoDTO.Username.ToLower();

            if (await _service.UserExistsAsync(userInfoDTO.Username))
            {
                return(BadRequest("Podana nazwa użytkownika jest zajęta"));
            }
            try
            {
                var result = await _service.UpdateUserInfoAsync(id, userInfoDTO);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!(_service.UserExists(id)))
                {
                    return(NotFound(Value));
                }
                else
                {
                    throw;
                }
            }
            return(Ok());
        }
Beispiel #2
0
        public async Task <int> UpdateUserInfoAsync(int id, UserInfoUpdateDTO userInfoDTO)
        {
            var userFromBase = _repository.GetUserFromBase(id);


            if (userInfoDTO.Firstname != "" && userInfoDTO.Firstname != null)
            {
                userInfoDTO.Firstname = userInfoDTO.Firstname;
            }
            else
            {
                userInfoDTO.Firstname = userFromBase.Firstname;
            }

            if (userInfoDTO.Lastname != "" && userInfoDTO.Firstname != null)
            {
                userInfoDTO.Lastname = userInfoDTO.Lastname;
            }
            else
            {
                userInfoDTO.Lastname = userFromBase.Lastname;
            }

            if (userInfoDTO.Username != "" && userInfoDTO.Firstname != null)
            {
                userInfoDTO.Username = userInfoDTO.Username;
            }
            else
            {
                userInfoDTO.Username = userFromBase.Username;
            }

            if (userInfoDTO.Email != "" && userInfoDTO.Firstname != null)
            {
                userInfoDTO.Email = userInfoDTO.Email;
            }
            else
            {
                userInfoDTO.Email = userFromBase.Email;
            }
            var userInfo = _mapper.Map(userInfoDTO, userFromBase);
            await _repository.UpdateUserInfoAsync(userInfo);

            return(userInfo.Id);
        }