public async Task <UserResponse> PurchaseItem([FromBody] PurchaseRequestModel purchaseRequest)
        {
            /*
             * FLOW:
             *      1. User'ı ve Item'ı göndermeli.
             *      2. User var mı?
             *      3. Item var mı?
             *      4. Ödeme yöntemi nedir? Ona göre hareket edilecek. Kredikartı veya oyun parası. (Bunun için yeni bir modele ihtiyaç var)
             *      5. Ödeme valid ise UserItem tablosuna listedeki Item'lar eklenecek. Ve yeni Item'listesi  ve User değerleri dönmeli.
             */
            /* VALIDATE */
            var validator        = _validatorResolver.Resolve <PurchaseRequestValidator>();
            var validationResult = validator.Validate(purchaseRequest);

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

            foreach (var item in purchaseRequest.Items)
            {
                var purchaseResponse = await _userItemService.CreateUserItem(item);
            }

            var foundUser = await _userService.GetUserById(purchaseRequest.CustomerId);

            if (foundUser == null)
            {
                throw new NotFoundException(_localizer.GetString(LocaleResourceConstants.UserNotFound));                    //TODO: Handle error logging and response model for client
            }
            return(_mapper.Map <UserResponse>(foundUser));
        }