private void updateClassFacilities() { foreach (AirlinerClass.ClassType type in Enum.GetValues(typeof(AirlinerClass.ClassType))) { AirlineClassMVVM rClass = Classes.FirstOrDefault(c => c.Type == type); if (rClass != null) { foreach ( RouteFacility.FacilityType facilityType in Enum.GetValues(typeof(RouteFacility.FacilityType))) { if (GameObject.GetInstance().GameTime.Year >= (int)facilityType) { AirlineClassFacilityMVVM facility = rClass.Facilities.FirstOrDefault(c => c.Type == facilityType); if (facility == null) { facility = new AirlineClassFacilityMVVM(facilityType); rClass.Facilities.Add(facility); } facility.Facilities.Clear(); foreach ( RouteFacility rFacility in AirlineHelpers.GetRouteFacilities( GameObject.GetInstance().HumanAirline, facilityType)) { facility.Facilities.Add(rFacility); } facility.SelectedFacility = RouteFacilities.GetBasicFacility(facility.Type); } } } } }
public PageAirlineServices(AirlineMVVM airline) { Classes = new ObservableCollection<AirlineClassMVVM>(); foreach (AirlinerClass.ClassType type in Enum.GetValues(typeof(AirlinerClass.ClassType))) { if ((int)type <= GameObject.GetInstance().GameTime.Year) { var rClass = new AirlineClassMVVM(type); foreach ( RouteFacility.FacilityType facilityType in Enum.GetValues(typeof(RouteFacility.FacilityType))) { if (GameObject.GetInstance().GameTime.Year >= (int)facilityType) { var facility = new AirlineClassFacilityMVVM(facilityType); facility.Facilities.Clear(); foreach ( RouteFacility rFacility in AirlineHelpers.GetRouteFacilities( GameObject.GetInstance().HumanAirline, facilityType)) { facility.Facilities.Add(rFacility); } facility.SelectedFacility = RouteFacilities.GetBasicFacility(facility.Type); //GetFacilities(rFacility.Type).OrderBy(f => f.ServiceLevel).First(); rClass.Facilities.Add(facility); } } Classes.Add(rClass); } } Airline = airline; DataContext = Airline; Loaded += PageAirlineServices_Loaded; InitializeComponent(); var view = (CollectionView)CollectionViewSource.GetDefaultView(lvFacilities.ItemsSource); view.GroupDescriptions.Clear(); view.SortDescriptions.Clear(); var groupDescription = new PropertyGroupDescription("Type"); view.GroupDescriptions.Add(groupDescription); var sortTypeDescription = new SortDescription("Type", ListSortDirection.Ascending); view.SortDescriptions.Add(sortTypeDescription); var sortFacilityDescription = new SortDescription("Facility.Name", ListSortDirection.Ascending); view.SortDescriptions.Add(sortFacilityDescription); for (int i = 120; i < 300; i += 15) { cbCancellationPolicy.Items.Add(i); } cbCancellationPolicy.SelectedItem = Airline.Airline.GetAirlinePolicy("Cancellation Minutes").PolicyValue; }