Exemplo n.º 1
0
        public async Task UpgradeItem([FromBody] UserItemRequest request)
        {
            /* VALIDATE */
            var validator = _validatorResolver.Resolve <UserItemRequestValidator>();
            ValidationResult validationResult = validator.Validate(request);

            if (!validationResult.IsValid)
            {
                throw new ValidationException(validationResult.ToString());
            }

            var user = await _userService.GetUserById(request.UserId);

            if (ControlUtil.isEmpty(user))
            {
                throw new NotFoundException(_localizer.GetString(LocaleResourceConstants.UserNotFound));                             //TODO: Handle error logging and response model for client
            }
            var userItem = _mapper.Map <UserItem>(request);

            userItem.ItemLevel++;

            await _userItemService.UpdateUserItem(userItem);
        }