public async Task <IActionResult> BuyCharacter(int id)
        {
            var сharacter = db.Characters.AsNoTracking().SingleOrDefault(c => c.Id == id);

            if (сharacter != null)
            {
                if (currentUser.Gold >= сharacter.Cost)
                {
                    var duplicate = db.Entry(currentUser).Collection(u => u.UserCharacters).Query().Any(c => c.BaseСharacter == сharacter);
                    if (!duplicate)
                    {
                        var result = await purchase.BuyCharacterAsync(currentUser, сharacter);

                        return(Ok(result));
                    }
                    return(Content("character already exists"));
                }
                return(Content("not enough gold"));
            }
            return(BadRequest(id));
        }