AddClassConfiguration() public method

public AddClassConfiguration ( AirlinerClassConfiguration conf ) : void
conf AirlinerClassConfiguration
return void
示例#1
0
        /*! 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);
                }
        }