75 lines
2.6 KiB
C#
75 lines
2.6 KiB
C#
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("누적데미지");
|
|
|
|
데미지리스트테이블.Columns.Add("팀");
|
|
데미지리스트테이블.Columns.Add("선수닉네임");
|
|
데미지리스트테이블.Columns.Add("챔피언이름");
|
|
데미지리스트테이블.Columns.Add("총가한데미지");
|
|
데미지리스트테이블.Columns.Add("대비총데미지퍼센트");
|
|
|
|
|
|
if (DataManager.getInstance().경기데이터 == null)
|
|
{
|
|
return 데미지리스트테이블;
|
|
}
|
|
|
|
List<BsonValue> 선수데이터들 = DataManager.getInstance().경기데이터["participants"].AsBsonArray.ToList();
|
|
|
|
|
|
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["stats"].AsBsonArray.Where(v => v["name"] == "TOTAL_DAMAGE_DEALT_TO_CHAMPIONS").ToList()[0]["value"];
|
|
|
|
|
|
데미지리스트테이블.Rows.Add(bufRow);
|
|
}
|
|
|
|
if (데미지리스트테이블.Rows.Count > 0)
|
|
{
|
|
|
|
데미지리스트테이블 = 데미지리스트테이블.AsEnumerable().OrderByDescending(r => Convert.ToDouble(r.Field<string>("총가한데미지"))).CopyToDataTable();
|
|
|
|
double maxDamageToChamps = Convert.ToDouble(데미지리스트테이블.Rows[0]["총가한데미지"].ToString());
|
|
|
|
foreach (DataRow item in 데미지리스트테이블.Rows)
|
|
{
|
|
item["대비총데미지퍼센트"] = Convert.ToDouble(item["총가한데미지"]) / maxDamageToChamps * 100;
|
|
}
|
|
|
|
}
|
|
|
|
데미지리스트테이블.TableName = DBDefine.요청데이터분류.현재데미지량선수.ToString();
|
|
|
|
return 데미지리스트테이블;
|
|
|
|
}
|
|
|
|
}
|
|
}
|