Files
lol_coder/lck_cl_data_solution/LolDataRequestLib/ResponseData/있는데이터/누적데미지선수.cs
2026-04-01 20:20:09 +09:00

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