using MongoDB.Bson;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LolDataRequestLib.ResponseData
{
    class 골드획득량선수 : IResponseData
    {


        public DataTable 디비데이터를데이터테이블로만듬()
        {

            DataTable 골드획득량선수테이블 = new DataTable(DBDefine.요청데이터분류.현재골드량선수.ToString());

            try
            {

                골드획득량선수테이블.Columns.Add("팀");
                //픽리스트테이블.Columns.Add("포지션");
                골드획득량선수테이블.Columns.Add("선수닉네임");
                골드획득량선수테이블.Columns.Add("챔피언이름");
                골드획득량선수테이블.Columns.Add("총골드획득량");
                골드획득량선수테이블.Columns.Add("보유골드량");
                골드획득량선수테이블.Columns.Add("대비총골드퍼센트");
                골드획득량선수테이블.Columns.Add("대비보유골드퍼센트");

                if (DataManager.getInstance().경기데이터 == null)
                {
                    return 골드획득량선수테이블;
                }

                List<BsonValue> 선수데이터들 = DataManager.getInstance().경기데이터["participants"].AsBsonArray.OrderByDescending(p => p["totalGold"].ToInt32()).ToList();


                double maxGold = (double)선수데이터들[0]["totalGold"].ToInt32();
                for (int i = 0; i < 선수데이터들.Count(); i++)
                {
                    BsonValue item = 선수데이터들[i];

                    DataRow bufRow = 골드획득량선수테이블.NewRow();

                    bufRow["팀"] = (DBDefine.팀구분)item["teamID"].ToInt32();
                    //bufRow["포지션"] = (DBDefine.라인구분)item["participantID"].AsInt32 + 1;
                    bufRow["선수닉네임"] = item["playerName"];
                    bufRow["챔피언이름"] = item["championName"];
                    bufRow["총골드획득량"] = item["totalGold"].ToInt32();
                    bufRow["보유골드량"] = item["currentGold"];
                    bufRow["대비총골드퍼센트"] = (item["totalGold"].ToInt32() / maxGold) * 100;
                    bufRow["대비보유골드퍼센트"] = (item["currentGold"].ToInt32() / maxGold) * 100;

                    골드획득량선수테이블.Rows.Add(bufRow);
                }
            }
            catch (Exception ex) { }


            return 골드획득량선수테이블;

        }

    }
}
