public static RomInformation GetRomInfo(RomInformation pRomInfo) { List <Rom3dsdbInfo> l3dsdbGameInfoList = Parse3dsreleaseXML(); Rom3dsdbInfo l3dsdbGameInfo = l3dsdbGameInfoList.AsParallel().FirstOrDefault(gameinfo => gameinfo.serial == pRomInfo.BasicInfo.Serial); if (l3dsdbGameInfo != null) { RomInformation lresult = Conver3dsdbToRomInfo(l3dsdbGameInfo); return(lresult); } else { return(new RomInformation()); } }
private static RomInformation Conver3dsdbToRomInfo(Rom3dsdbInfo pRom3dsdbInfo) { RomInformation lresult = new RomInformation(); lresult.BasicInfo.Serial = pRom3dsdbInfo.serial; lresult.BasicInfo.Title_ID = pRom3dsdbInfo.titleid; lresult.BasicInfo.English_Title = pRom3dsdbInfo.name; lresult.BasicInfo.Publisher = pRom3dsdbInfo.publisher; lresult.BasicInfo.Region = pRom3dsdbInfo.region; lresult.BasicInfo.Languages = pRom3dsdbInfo.languages; lresult.BasicInfo.Developer = pRom3dsdbInfo.group; lresult.BasicInfo.Imagesize = pRom3dsdbInfo.imagesize; lresult.BasicInfo.Firmware = pRom3dsdbInfo.firmware; lresult.BasicInfo.Card_Type = pRom3dsdbInfo.card; return(lresult); }
private static List <Rom3dsdbInfo> Parse3dsreleaseXML() { FileInfo l3dsdbFile = BQ3dsdbXML.Get3dsdbFile(); if (!l3dsdbFile.Exists) { return(new List <Rom3dsdbInfo>()); } List <Rom3dsdbInfo> lResult = new List <Rom3dsdbInfo>(); XmlDocument lXmlDoc = new XmlDocument(); lXmlDoc.Load(l3dsdbFile.FullName); XmlNode xn = lXmlDoc.SelectSingleNode("releases"); XmlNodeList xnl = xn.ChildNodes; foreach (XmlNode xn1 in xnl) { XmlElement tXmlE = (XmlElement)xn1; XmlNodeList tXmlNL = tXmlE.ChildNodes; Rom3dsdbInfo lRom3dsdbInfo = new Rom3dsdbInfo(); for (int i = 0; i < tXmlNL.Count; i++) { foreach (var InfoProp in lRom3dsdbInfo.GetType().GetProperties()) { if (tXmlNL.Item(i).Name == InfoProp.Name) { InfoProp.SetValue(lRom3dsdbInfo, tXmlNL.Item(i).InnerText); break; } } } lResult.Add(lRom3dsdbInfo); } return(lResult); }