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;
		}