Files
lol_coder/lck_cl_data_solution/LolDataRequestLib/ResponseData/없는데이터/룬데이터.cs
2026-04-01 20:20:09 +09:00

134 lines
4.5 KiB
C#

using MongoDB.Bson;
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LolDataRequestLib.ResponseData
{
internal class : AResponseData
{
protected override DataTable buildDataForResponse(BsonDocument recvDocument)
{
BsonArray bufPlayerDataList = null;
DataTable = new DataTable();
.TableName = DBDefine...ToString();
.Columns.Add("팀");
.Columns.Add("선수이름");
.Columns.Add("챔피언이름");
.Columns.Add("메인룬스타일");
.Columns.Add("메인룬이름");
.Columns.Add("서브룬스타일");
.Columns.Add("서브룬이름");
.Columns.Add("룬1");
.Columns.Add("룬2");
.Columns.Add("룬3");
.Columns.Add("룬4");
.Columns.Add("룬5");
.Columns.Add("룬6");
.Columns.Add("룬7");
.Columns.Add("룬8");
.Columns.Add("룬9");
.Columns.Add("룬10");
.Columns.Add("룬배열");
if (recvDocument == null)
{
return ;
}
bufPlayerDataList = recvDocument["eventDocument"]["participants"].AsBsonArray;
foreach (BsonValue item in bufPlayerDataList)
{
DataRow bufRow = .NewRow();
bufRow["팀"] = (DBDefine.)item["teamID"].ToInt32();
bufRow["선수이름"] = item["summonerName"].ToString();
bufRow["챔피언이름"] = item["championName"].ToString();
if (!item.AsBsonDocument.Contains("perks"))
{
continue;
}
int = item["perks"][0]["perkStyle"].ToInt32();
bufRow["메인룬스타일"] = ;
if (DataManager.getInstance().mRuneTable.ContainsKey())
{
bufRow["메인룬이름"] = DataManager.getInstance().mRuneTable[];
}
int = item["perks"][0]["perkSubStyle"].ToInt32();
bufRow["서브룬스타일"] = ;
if (DataManager.getInstance().mRuneTable.ContainsKey())
{
bufRow["서브룬이름"] = DataManager.getInstance().mRuneTable[];
}
bufRow["룬배열"] = item["perks"][0]["perkIds"].ToString();
BsonArray runeArray = item["perks"][0]["perkIds"].AsBsonArray;
if (runeArray.Count != 0)
{
for (int i = 1; i < runeArray.Count + 1; i++)
{
int runeID = runeArray[i - 1].ToInt32();
if (DataManager.getInstance().mRuneTable.ContainsKey(runeID))
{
bufRow["룬" + i] = DataManager.getInstance().mRuneTable[runeID];
}
}
}
.Rows.Add(bufRow);
}
return ;
}
protected override BsonDocument getDataFromMongo()
{
//var filter = Builders<BsonDocument>.Filter.Eq("RequestGameID", DataManager.getInstance().mPlatformGameID);
var projection = Builders<BsonDocument>.Projection
.Exclude("_id")
.Include("eventDocument");
List<BsonDocument> documents = mEventDataBase.GetCollection<BsonDocument>("game_info")
.Find(new BsonDocument()) //.Find(filter)
.SortByDescending(x => x["sequenceIndex"])
.Project(projection)
.Limit(1)
.ToList();
if (documents.Count == 0)
{
return null;
}
return documents.Last();
}
}
}