public async Task<List<PlayerStatsUpdate_2>> ParseMatch(DotaMatchInfo dotaMatchInfo,CancellationToken token) { var playersStatsUp=new List<PlayerStatsUpdate_2>(); var ResDpi = new ResouceDpi (); try{ var players=dotaMatchInfo.Players; for(int i=0;i<players.Count();i++) { token.ThrowIfCancellationRequested (); var itemDb = new ItemDb (); var heroDb =new HeroDb(); var player=players[i]; var playerStatsUp = new PlayerStatsUpdate_2 (); var hero = heroDb .GetHeroFromSQL (player.Hero_id); playerStatsUp.HeroImage = BitmapFactory.DecodeByteArray (hero.ImageHero, 0, hero.ImageHero.Length); playerStatsUp.Color = ColorsOnMatch.GetColorPlayer (i); playerStatsUp.HeroName = hero.LocalName; playerStatsUp.Hero_id = (int)player.Hero_id; playerStatsUp.Player_slot = i; playerStatsUp.Account_id = (int)player.Account_id; playerStatsUp.PlayerName=player.PlayerName; var item0 = itemDb.GetItemFromSQL (player.Item0Id); var item1 = itemDb.GetItemFromSQL (player.Item1Id); var item2 = itemDb.GetItemFromSQL (player.Item2Id); var item3 = itemDb.GetItemFromSQL (player.Item3Id); var item4 = itemDb.GetItemFromSQL (player.Item4Id); var item5 = itemDb.GetItemFromSQL (player.Item5Id); playerStatsUp.Item0 = BitmapFactory.DecodeByteArray (item0.ImageByte, 0, item0.ImageByte.Length); playerStatsUp.Item1 = BitmapFactory.DecodeByteArray (item1.ImageByte, 0, item1.ImageByte.Length); playerStatsUp.Item2 = BitmapFactory.DecodeByteArray (item2.ImageByte, 0, item2.ImageByte.Length); playerStatsUp.Item3 = BitmapFactory.DecodeByteArray (item3.ImageByte, 0, item3.ImageByte.Length); playerStatsUp.Item4 = BitmapFactory.DecodeByteArray (item4.ImageByte, 0, item4.ImageByte.Length); playerStatsUp.Item5 = BitmapFactory.DecodeByteArray (item5.ImageByte, 0, item5.ImageByte.Length); playerStatsUp.Item0Id = item0.ItemId; playerStatsUp.Item1Id = item1.ItemId; playerStatsUp.Item2Id = item2.ItemId; playerStatsUp.Item3Id = item3.ItemId; playerStatsUp.Item4Id = item4.ItemId; playerStatsUp.Item5Id = item5.ItemId; playerStatsUp.Gold = player.Gold; playerStatsUp.Level = player.Level; playerStatsUp.Assists = player.Assists; playerStatsUp.Death = player.Death; playerStatsUp.Denies = player.Denies; playerStatsUp.Gold_per_min = player.Gold_per_min; playerStatsUp.Kills = player.Kills; playerStatsUp.Last_hits = player.Last_hits; playerStatsUp.Net_worth = player.Net_worth; playerStatsUp.Xp_per_min = player.Xp_per_min; playersStatsUp.Add(playerStatsUp); } }catch{ return playersStatsUp; } return playersStatsUp; }
async Task SetHeroesImageInLayout(CancellationToken token) { refreshFlag = true; APIRequest ApiReq = new APIRequest (); HeroDb heroDb = new HeroDb (); for (int i = 0; i < 5; i++) { token.ThrowIfCancellationRequested(); Hero newHero = new Hero (); if (radiantPB.ListBanView [i].HeroId != 0) { var viewBanRad = FindViewById<RelativeLayout> (radiantPB.ListBanView [i].ResourceId); var imgRad = viewBanRad.FindViewById<ImageView> (Resource.Id.imageBan); var imgLine = viewBanRad.FindViewById<ImageView> (Resource.Id.imageLineBan); if (imgRad.Tag.ToString() == "no_ban") { //if (imgRad.GetTag == Resources.GetDrawable( Resource.Drawable.no_ban)) //Bitmap bitmap = (BitmapDrawable)imgRad.Drawable.; newHero = heroDb.GetHeroFromSQL (radiantPB.ListBanView [i].HeroId); Bitmap b = BitmapFactory.DecodeByteArray (newHero.ImageHero, 0, newHero.ImageHero.Length); imgRad.SetImageBitmap (b); imgRad.Tag = "on_ban"; imgLine.SetBackgroundResource (Resource.Drawable.on_ban); //img.SetScaleType (ImageView.ScaleType.Center); } } newHero = new Hero (); if (direPB.ListBanView [i].HeroId != 0) { var viewBanDire = FindViewById<RelativeLayout> (direPB.ListBanView [i].ResourceId); var imgDire = viewBanDire.FindViewById<ImageView> (Resource.Id.imageBan); var imgLine = viewBanDire.FindViewById<ImageView> (Resource.Id.imageLineBan); if (imgDire.Tag.ToString() == "no_ban") { newHero = heroDb.GetHeroFromSQL (direPB.ListBanView [i].HeroId); Bitmap b1 = BitmapFactory.DecodeByteArray (newHero.ImageHero, 0, newHero.ImageHero.Length); imgDire.SetImageBitmap (b1); imgDire.Tag = "on_ban"; imgLine.SetBackgroundResource (Resource.Drawable.on_ban); } } } for (int i = 0; i < 5; i++) { token.ThrowIfCancellationRequested(); Hero newHero = new Hero (); if (radiantPB.ListPicksView [i].HeroId != 0) { var viewPickRad = FindViewById<RelativeLayout> (radiantPB.ListPicksView [i].ResourceId); var imgRad = viewPickRad.FindViewById<ImageView> (Resource.Id.imagePick); var textHero = viewPickRad.FindViewById<TextView> (Resource.Id.textHeroNamePickTemp); if (imgRad.Tag.ToString() =="no_pick") { newHero = heroDb.GetHeroFromSQL (radiantPB.ListPicksView [i].HeroId); byte[] arr=await ApiReq.FetchByteArrAsync (newHero.FVerImgUrl); Bitmap b = BitmapFactory.DecodeByteArray (arr, 0, arr.Length); imgRad.SetImageBitmap (b); imgRad.Tag = "on_pick"; textHero.SetBackgroundResource (Resource.Drawable.gradientDarkBlueToTransp); textHero.Text = newHero.LocalName; } } newHero = new Hero (); if (direPB.ListPicksView [i].HeroId != 0) { var viewPickDire = FindViewById<RelativeLayout> (direPB.ListPicksView [i].ResourceId); var imgDire = viewPickDire.FindViewById<ImageView> (Resource.Id.imagePick); var textHero = viewPickDire.FindViewById<TextView> (Resource.Id.textHeroNamePickTemp); if (imgDire.Tag.ToString() == "no_pick") { newHero = heroDb.GetHeroFromSQL (direPB.ListPicksView [i].HeroId); byte[] arr=await ApiReq.FetchByteArrAsync (newHero.FVerImgUrl); Bitmap b1 = BitmapFactory.DecodeByteArray (arr, 0, arr.Length); imgDire.SetImageBitmap (b1); imgDire.Tag = "on_pick"; textHero.SetBackgroundResource (Resource.Drawable.gradientDarkBlueToTransp); textHero.Text = newHero.LocalName; } } } refreshFlag = false; }