102 lines
3.9 KiB
C#
102 lines
3.9 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(DBDefine.요청데이터분류.픽데이터.ToString());
|
|
|
|
픽리스트테이블.Columns.Add("팀");
|
|
//픽리스트테이블.Columns.Add("포지션");
|
|
픽리스트테이블.Columns.Add("선수닉네임");
|
|
픽리스트테이블.Columns.Add("챔피언ID");
|
|
픽리스트테이블.Columns.Add("챔피언이름");
|
|
픽리스트테이블.Columns.Add("픽상태");
|
|
픽리스트테이블.Columns.Add("선택스킨ID");
|
|
픽리스트테이블.Columns.Add("순번", typeof(int));
|
|
|
|
if (DataManager.getInstance().밴픽데이터 == null)
|
|
{
|
|
return 픽리스트테이블;
|
|
}
|
|
|
|
List<BsonValue> 블루픽데이터 = DataManager.getInstance().밴픽데이터["teamOne"].AsBsonArray.ToList();
|
|
|
|
foreach (BsonValue item in 블루픽데이터)
|
|
{
|
|
DataRow bufRow = 픽리스트테이블.NewRow();
|
|
bufRow["팀"] = DBDefine.팀구분.블루;
|
|
//bufRow["포지션"] = (DBDefine.라인구분)item["participantID"].AsInt32 + 1;
|
|
bufRow["선수닉네임"] = item["summonerName"];
|
|
|
|
int selectedChamp = item["championID"].ToInt32();
|
|
|
|
if (selectedChamp != 0)
|
|
{
|
|
bufRow["챔피언이름"] = DataManager.getInstance().mChampionTable[selectedChamp].champNameKOR;
|
|
}
|
|
bufRow["챔피언ID"] = selectedChamp;
|
|
|
|
bufRow["픽상태"] = (DBDefine.픽상태구분)item["pickMode"].ToInt32();
|
|
bufRow["선택스킨ID"] = item["championID"];
|
|
bufRow["순번"] = item["pickTurn"].ToInt32();
|
|
|
|
픽리스트테이블.Rows.Add(bufRow);
|
|
}
|
|
|
|
List<BsonValue> 퍼플픽데이터 = DataManager.getInstance().밴픽데이터["teamTwo"].AsBsonArray.ToList();
|
|
|
|
foreach (BsonValue item in 퍼플픽데이터)
|
|
{
|
|
DataRow bufRow = 픽리스트테이블.NewRow();
|
|
bufRow["팀"] = DBDefine.팀구분.퍼플;
|
|
//bufRow["포지션"] = (DBDefine.라인구분)item["participantID"].AsInt32 - 4;
|
|
bufRow["선수닉네임"] = item["summonerName"];
|
|
|
|
int selectedChamp = item["championID"].ToInt32();
|
|
|
|
if (selectedChamp != 0)
|
|
{
|
|
bufRow["챔피언이름"] = DataManager.getInstance().mChampionTable[selectedChamp].champNameKOR;
|
|
}
|
|
bufRow["챔피언ID"] = selectedChamp;
|
|
|
|
|
|
bufRow["픽상태"] = (DBDefine.픽상태구분)item["pickMode"].ToInt32();
|
|
bufRow["선택스킨ID"] = item["championID"];
|
|
bufRow["순번"] = item["pickTurn"].ToInt32();
|
|
|
|
픽리스트테이블.Rows.Add(bufRow);
|
|
}
|
|
|
|
|
|
if (DataManager.getInstance().isNewBanPick)
|
|
{
|
|
if (픽리스트테이블.Rows.Count > 0)
|
|
{
|
|
픽리스트테이블 = 픽리스트테이블.AsEnumerable()
|
|
.OrderBy(r => r.Field<string>("팀") == DBDefine.팀구분.블루.ToString() ? 0 : 1) // 블루 팀 우선
|
|
.ThenBy(r => r.Field<int>("순번")) // 같은 팀 내에서는 순번 오름차순
|
|
.CopyToDataTable();
|
|
}
|
|
}
|
|
|
|
|
|
return 픽리스트테이블;
|
|
|
|
}
|
|
|
|
}
|
|
}
|