/*! loads the regions.
*/
private static void LoadAirlinerTypeConfiguration(string file)
{
var doc = new XmlDocument();
doc.Load(file);
XmlElement root = doc.DocumentElement;
XmlNodeList configurationsList = root?.SelectNodes("//configuration");
if (configurationsList != null)
foreach (XmlElement element in configurationsList)
{
string name = element.Attributes["name"].Value;
string id = element.Attributes["id"].Value;
AirlinerType type = AirlinerTypes.GetType(element.Attributes["airliner"].Value);
int fromYear = Convert.ToInt16(element.Attributes["yearfrom"].Value);
int toYear = Convert.ToInt16(element.Attributes["yearto"].Value);
/*airliner="Boeing 747-400" name="Boeing 747-400 (1998)" yearfrom="1998" yearto="2199" id="301"*/
XmlNodeList classesList = element.SelectNodes("classes/class");
var configuration = new AirlinerTypeConfiguration(
name,
type,
new Period<DateTime>(new DateTime(fromYear, 1, 1), new DateTime(toYear, 12, 31)),
true) {ID = id};
if (classesList != null)
foreach (XmlElement classElement in classesList)
{
int seating = Convert.ToInt16(classElement.Attributes["seating"].Value);
var classType =
(AirlinerClass.ClassType)
Enum.Parse(typeof (AirlinerClass.ClassType), classElement.Attributes["type"].Value);
var classConf = new AirlinerClassConfiguration(classType, seating, seating);
foreach (
AirlinerFacility.FacilityType facType in Enum.GetValues(typeof (AirlinerFacility.FacilityType)))
{
string facUid = classElement.Attributes[facType.ToString()].Value;
classConf.AddFacility(AirlinerFacilities.GetFacility(facType, facUid));
}
configuration.AddClassConfiguration(classConf);
}
Configurations.AddConfiguration(configuration);
}
}