private async Task UpdateStat(string heroComboIdWinner, string heroComboIdLooser, bool won)
        {
            var winnerWinrate = await _w3Stats.LoadHeroWinrate(heroComboIdWinner) ??
                                OverallHeroWinRatePerHero.Create(heroComboIdWinner);

            winnerWinrate.RecordGame(won, heroComboIdLooser);
            await _w3Stats.Save(winnerWinrate);
        }
        public async Task <WinLoss> GetStats(
            string first,
            string second,
            string third,
            string opFirst,
            string opSecond,
            string opThird)
        {
            var searchString = first;

            if (first == "all" && opFirst == "all")
            {
                return(new WinLoss());
            }
            if (second == "none" || third == "none")
            {
                if (second != "none")
                {
                    searchString += $"_{second}";
                }
                if (third != "none")
                {
                    searchString += $"_{third}";
                }
                var stats = await _w3StatsRepo.LoadHeroWinrate(searchString);

                return(HeroWinrateDto(new List <OverallHeroWinRatePerHero> {
                    stats
                }, opFirst, opSecond, opThird));
            }
            else
            {
                if (second != "all")
                {
                    searchString += $"_{second}";
                }
                if (third != "all")
                {
                    searchString += $"_{third}";
                }
                var stats = await _w3StatsRepo.LoadHeroWinrateLike(searchString);

                return(HeroWinrateDto(stats, opFirst, opSecond, opThird));
            }
        }