/// <inheritdoc/> public async Task <TemplateBoardDbModel> GetRandomTemplateBoardByLevelAsync(DifficultyLevel level) { List <TemplateBoardDbModel> boardDbModels = await repository.GetAllListAsync(level.IsMatchLevelExpression()).ConfigureAwait(false); if (boardDbModels.Count == 0) { throw new BoardNotFoundException(); } var boardDbModel = boardDbModels[random.Next(0, boardDbModels.Count)]; return(boardDbModel); }