public static void ParseRegions(bool useInternational = false) { XDocument document = XDocument.Parse(DownloadXML(Database.Regions, useInternational)); XElement parent = document.Element("Regions"); if (RegionList != new List <Region>()) { RegionList = new List <Region>(); } Region blankRegion = new Region(); RegionList.Add(blankRegion); foreach (XElement element in parent.Elements("Region")) { Region region = new Region(); try { region.Name = element.Element("Name").Value; region.Abbreviation = element.Element("Abbreviation").Value; region.Area = element.Element("Area").Value; region.Picture = element.Element("Picture").Value; } catch { Common.Log("Could not read region " + region.Name + " from xml"); } RegionList.Add(region); } UpdateComboBoxes.Invoke(); }
public static void ParseReps(bool useInternational = false) { XDocument document = XDocument.Parse(DownloadXML(Database.Reps, useInternational)); XElement parent = document.Element("SalesReps"); if (SalesRepList != new List <SalesRep>()) { SalesRepList = new List <SalesRep>(); } SalesRep blankRep = new SalesRep(); blankRep.Name = new Name(); blankRep.Responsibilities = new List <string>(); blankRep.CC = new List <string>(); SalesRepList.Add(blankRep); foreach (XElement element in parent.Elements("Rep")) { SalesRep rep = new SalesRep(); try { Name name = new Name(); name.First = element.Element("Name").Element("First").Value; name.Last = element.Element("Name").Element("Last").Value; rep.Name = name; rep.Email = element.Element("Email").Value; try { rep.Phone = element.Element("Phone").Value; } catch { rep.Phone = ""; } try { rep.SkypeIdentity = element.Element("SkypeIdentity").Value; } catch { rep.SkypeIdentity = ""; } List <string> responsibilities = new List <string>(); foreach (XElement responsibility in element.Element("Responsibilities").Elements("Region")) { responsibilities.Add(responsibility.Value); } rep.Responsibilities = responsibilities.Count > 0 ? responsibilities : null; List <string> CC = new List <string>(); foreach (XElement cc in element.Element("CC").Elements("Area")) { CC.Add(cc.Value); } rep.CC = CC.Count > 0 ? CC : null; List <string> SIMS = new List <string>(); try { foreach (XElement sims in element.Element("SIMS").Elements("Area")) { SIMS.Add(sims.Value); } rep.SIMS = SIMS; } catch { rep.SIMS = null; } rep.Picture = element.Element("Picture").Value; if (rep.SIMS != null && rep.SIMS.Count > 0) { SIMadmins.Add(rep); continue; } SalesRepList.Add(rep); } catch { Common.Log("Could not read rep " + rep.Name.First + " " + rep.Name.Last + " from xml"); } } //Make list sorted by first name by default var result = XMLFunctions.SalesRepList.ToList(); result.RemoveAt(0); result = result.OrderBy(p => p.Name.First).ToList(); result.Insert(0, XMLFunctions.SalesRepList[0]); SalesRepList = result; UpdateComboBoxes.Invoke(); }