Ejemplo n.º 1
0
 //grabs remote api data and saves it locally; updates all CorpXML Files
 private void UpdateLocalCorpXML()
 {
     foreach (UserData users in UserInfoList)
     {
         if (File.Exists(users.corp_corpdata_xml))
         {
             File.Delete(users.corp_corpdata_xml);
         }
         string remote_corp_API = EVE_API_RemoteXML + "/corp/CorporationSheet.xml.aspx?keyID=" + users.corp_KeyID + "&vCode=" + users.corp_vCode;
         string remote_corp_members = EVE_API_RemoteXML + "/corp/MemberTracking.xml.aspx?keyID=" + users.corp_KeyID + "&vCode=" + users.corp_vCode + "&extended=1";
         XElement xRemoteCorpAPI;
         XElement xRemoteCorpMembers;
         CorpData temp_corp_vals = new CorpData();
         xRemoteCorpAPI = XElement.Load(remote_corp_API);
         xRemoteCorpMembers = XElement.Load(remote_corp_members);
         XDocument WriteCorpData = new XDocument();
         XElement corproot = new XElement("corpdata");
         corproot.Add(new XElement("corpinfo"));
         corproot.Add(new XElement("members"));
         WriteCorpData.Add(corproot);
         WriteCorpData.Save(users.corp_corpdata_xml);
         List<CorpData.Member> temp_members = new List<CorpData.Member>();
         foreach (XElement result in xRemoteCorpAPI.Elements("result"))
         {
             temp_corp_vals.corporationID = Int64.Parse(result.Element("corporationID").Value);
             temp_corp_vals.corporationName = result.Element("corporationName").Value;
             temp_corp_vals.corporationTicker = result.Element("ticker").Value;
             temp_corp_vals.ceoName = result.Element("ceoName").Value;
             temp_corp_vals.allianceName = result.Element("allianceName").Value;
             temp_corp_vals.memberCount = int.Parse(result.Element("memberCount").Value);
             temp_corp_vals.memberLimit = int.Parse(result.Element("memberLimit").Value);
         }
         temp_corp_vals.cachedUntil = Convert.ToDateTime(xRemoteCorpAPI.Element("cachedUntil").Value);
         foreach (XElement result in xRemoteCorpMembers.Elements("result"))
         {
             foreach (XElement rowset in result.Elements("rowset"))
             {
                 foreach (XElement row in rowset.Elements("row"))
                 {
                     temp_members.Add(new CorpData.Member(
                          Int64.Parse(row.Attribute("characterID").Value),
                          row.Attribute("name").Value,
                          Convert.ToDateTime(row.Attribute("startDateTime").Value),
                          Convert.ToDateTime(row.Attribute("logoffDateTime").Value),
                          row.Attribute("location").Value,
                          row.Attribute("shipType").Value));
                 }
             }
         }
         temp_corp_vals.memberList = temp_members;
         WriteCorpData.Root.Element("corpinfo").Add(
             new XElement("corporationID", temp_corp_vals.corporationID),
             new XElement("corporationName", temp_corp_vals.corporationName),
             new XElement("corporationTicker", temp_corp_vals.corporationTicker),
             new XElement("memberCount", temp_corp_vals.memberCount),
             new XElement("memberLimit", temp_corp_vals.memberLimit),
             new XElement("ceoName", temp_corp_vals.ceoName),
             new XElement("cachedUntil", temp_corp_vals.cachedUntil)
         );
         foreach (CorpData.Member members in temp_corp_vals.memberList)
         {
             WriteCorpData.Root.Element("members").Add(
                 new XElement("member",
                     new XAttribute("characterID", members.characterID),
                     new XAttribute("name", members.name),
                     new XAttribute("startDateTime", members.startDateTime),
                     new XAttribute("logoffDateTime", members.logoffDateTime),
                     new XAttribute("location", members.location),
                     new XAttribute("shipType", members.shipType)
                  ));
         }
         listMainView.Items.Add("Corporation Updated: " + temp_corp_vals.corporationName);
         WriteCorpData.Save(users.corp_corpdata_xml);
     }
 }
Ejemplo n.º 2
0
 private void LoadCorpData(string file)
 {
     XElement xCorpData;
     CorpData corp_object = new CorpData();
     xCorpData = XElement.Load(file);
     List<CorpData.Member> temp_list = new List<CorpData.Member>();
     foreach (XElement csettings in xCorpData.Elements("corpinfo"))
     {
         corp_object.corporationID = Int64.Parse(csettings.Element("corporationID").Value);
         corp_object.corporationName = csettings.Element("corporationName").Value;
         corp_object.corporationTicker = csettings.Element("corporationTicker").Value;
         corp_object.memberCount = int.Parse(csettings.Element("memberCount").Value);
         corp_object.memberLimit = int.Parse(csettings.Element("memberLimit").Value);
         corp_object.ceoName = csettings.Element("ceoName").Value;
         corp_object.cachedUntil = Convert.ToDateTime(csettings.Element("cachedUntil").Value);
     }
     foreach (XElement members in xCorpData.Elements("members"))
     {
         foreach (XElement member in members.Elements("member"))
         {
             temp_list.Add(new CorpData.Member(int.Parse(member.Attribute("characterID").Value),
                 member.Attribute("name").Value,
                 Convert.ToDateTime(member.Attribute("startDateTime").Value),
                 Convert.ToDateTime(member.Attribute("logoffDateTime").Value),
                 member.Attribute("location").Value,
                 member.Attribute("shipType").Value));
         }
     }
     corp_object.memberList = temp_list;
     CorporationDataList.Add(corp_object);
 }