public async Task <List <ChampionScript> > GetListChampionScript(int idChampion) { var arrayScriptInfo = _scriptInfoService.GetAllScript(); var arrayChampion = _championService.GetAllChampion(); await Task.WhenAll(arrayScriptInfo, arrayChampion); var arrayChampionScript = _cacheService.GetCache <List <ChampionScript> >($"{KeyChampion}{idChampion}"); if (arrayChampionScript == null) { var data = await _firebaseService.GetChampionScript(); arrayChampionScript = new List <ChampionScript>(); foreach (var item in data.Where(a => a.IdChampion == idChampion)) { item.Champion = item.ChampionExtension(arrayChampion.Result); item.ScriptInfo = item.ScriptInfoExtension(arrayScriptInfo.Result); arrayChampionScript.Add(item); } arrayChampionScript = arrayChampionScript.OrderByDescending(a => a.Status) .ThenByDescending(a => (Convert.ToDouble(a.Rating) / Convert.ToDouble(a.TotalRate))).ToList(); _cacheService.SetCache($"{KeyChampion}{idChampion}", arrayChampionScript); } return(arrayChampionScript); }
public async Task <IActionResult> TableScript() { return(PartialView(await _scriptInfoService.GetAllScript())); }