/// <summary>
        /// Добавление новой игры
        /// </summary>
        public async Task <GameDto> AddGame(AddGameRequest addGameRequest)
        {
            var game = GameToGameDto(addGameRequest);
            await dbContext.Games.AddAsync(game);

            await dbContext.SaveChangesAsync();

            var keystore = new AddKeystoreRequest
            {
                GameId = game.Id,
                Keys   = addGameRequest.Keys
            };

            await keystoreService.AddKeystore(keystore);

            return(game);
        }
        /// <summary>
        /// Добавление набора игровых ключей для игры
        /// </summary>
        public async Task AddKeystore(AddKeystoreRequest addKeystoreRequest)
        {
            var isOwner = await UserIsOwnerOfGame(addKeystoreRequest.GameId);

            if (!isOwner)
            {
                throw new ArgumentException("Невозможно добавить игровые ключи");
            }

            var keys = addKeystoreRequest.Keys.Select(key => new KeyDto
            {
                Id       = 0,
                GameId   = addKeystoreRequest.GameId,
                Key      = key,
                Reserved = false
            });

            await dbContext.Keys.AddRangeAsync(keys);

            await dbContext.SaveChangesAsync();
        }
        public async Task <IActionResult> AddKeystore(AddKeystoreRequest addKeystoreRequest)
        {
            await keystoreService.AddKeystore(addKeystoreRequest);

            return(new OkInfoResponse("Игровые ключи успешно добавлены"));
        }