public MainWindow() { InitializeComponent(); Network = new Network(); Data = new DataCountry(); Api = new Api(); Dialog = new Dialog(); LoadCountries(); ReportProgress(); }
public static DataCountry LoadCitiesXmlData(string appDirectory) { DataCountry data = new DataCountry(); XDocument xDoc = XDocument.Load(appDirectory); // XDocument xDoc = XDocument.Parse(appDirectory); var regions = xDoc.Descendants("table").Where(n => n.Attribute("name").Value == "regions") .Select(b => new { Field = b.Elements().Select(x => new { Attribute = CapitalizeFirstLetter(x.FirstAttribute.Value), Value = x.Value.Trim() }) }).Distinct().ToList(); var subregions = xDoc.Descendants("table").Where(n => n.Attribute("name").Value == "subregions") .Select(b => new { Field = b.Elements().Select(x => new { Attribute = CapitalizeFirstLetter(x.FirstAttribute.Value), Value = x.Value.Trim() }) }).Distinct().ToList(); var countries = new List <CountryModel>(); var cities = new List <ProvinceModel>(); foreach (var region in regions) { var country = new CountryModel(); foreach (var fl in region.Field.ToList()) { country[fl.Attribute] = fl.Value; } countries.Add(country); } foreach (var region in subregions) { var city = new ProvinceModel(); foreach (var fl in region.Field.ToList()) { city[fl.Attribute] = fl.Value; } city.Country = countries.FirstOrDefault(c => c.Id == city.CountryId); cities.Add(city); } data.CountryModels = countries; data.ProvinceModels = cities; return(data); }