Beispiel #1
0
        public async Task <SearchGame> StartSearchGame(InSearchGame inSearchGame, int userId, int providerId)
        {
            var lastSearcGame = await context.SearchGames.FirstOrDefaultAsync(x => x.UserId == userId);

            if (lastSearcGame != null)
            {
                throw ExceptionFactory.SoftException(ExceptionEnum.GameAlreadySearch, "GameAlreadySearch");
            }
            var game = await context.Games.FirstOrDefaultAsync(x => x.IsEnd == false);

            if (game != null)
            {
                throw ExceptionFactory.SoftException(ExceptionEnum.LastGameNotEnd, "LastGameNotEnd");
            }
            var newSearchGame = new SearchGame
            {
                GameTypeId = inSearchGame.GameTypeId,
                CategoryId = inSearchGame.CategoryId,
                ProviderId = providerId,
                UserId     = userId
            };
            await context.SearchGames.AddAsync(newSearchGame);

            await context.SaveChangesAsync();

            return(newSearchGame);
        }
        public async Task <OutSearchGame> StartSearchGame([FromBody] InSearchGame inSearchGame)
        {
            var searchGame = await gameService.StartSearchGame(inSearchGame, UserId, ProviderId);

            return(mapperProfile.Map <OutSearchGame>(searchGame));
        }