//static readonly ILog _log = LogManager.GetLogger(typeof(HullRaceFilterConverter)); //if (_log.IsDebugEnabled) { _log.DebugFormat("Starting {0}", MethodBase.GetCurrentMethod().ToString()); } //if (_log.IsDebugEnabled) { _log.DebugFormat("Ending {0}", MethodBase.GetCurrentMethod().ToString()); } #region IMultiValueConverter Members public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { HullRace selectedRace = null; int vesselSide = -1; Visibility retVal = Visibility.Visible; if (values != null) { if (values.Length > 0) { selectedRace = values[0] as HullRace; } if (values.Length > 1) { if (!int.TryParse(values[1].ToString(), out vesselSide)) { vesselSide = -1; } } if (selectedRace == null || selectedRace.ID < 0 || vesselSide == selectedRace.ID) { retVal = Visibility.Visible; } else { retVal = Visibility.Collapsed; } } return(retVal); }
private void AddRace_click(object sender, RoutedEventArgs e) { HullRace race = new HullRace(); race.ID = Data.HullRaces.Count; Data.HullRaces.Add(race); }
private void DeleteRace_Click(object sender, RoutedEventArgs e) { Button b = sender as Button; if (b != null) { HullRace race = b.CommandParameter as HullRace; if (race != null) { if (Locations.MessageBoxShow(AMLResources.Properties.Resources.AreYouSure, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { HullRaceCollection r = new HullRaceCollection(); foreach (HullRace oldr in Data.HullRaces) { if (oldr != race) { r.Add(oldr); } } Data.HullRaces = r; ValidateVesselData(); } } } }
void LoadHullRaceFilter() { if (Data != null) { HullRaceFilter = new HullRaceCollection(); HullRace allRaces = new HullRace(); allRaces.ID = -1; allRaces.Name = "Any race"; HullRaceFilter.Add(allRaces); if (Data.HullRaces != null) { foreach (HullRace race in Data.HullRaces) { HullRaceFilter.Add(race); } if (!HullRaceEventSubscribed) { Data.HullRaces.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(HullRaces_CollectionChanged); HullRaceEventSubscribed = true; } } } }
private void Done_Click(object sender, RoutedEventArgs e) { bool isInvalid = false; List <DictionaryEntry> raceConflictsToRemove = new List <DictionaryEntry>(); foreach (DictionaryEntry entry in RaceConflicts) { HullRace race = (HullRace)entry.Key; if (race.Tag == null) { isInvalid = true; } else { if (race.Tag.ToString() == "Source") { race = (HullRace)entry.Value; } RaceResolved.Add(race); raceConflictsToRemove.Add(entry); } } List <DictionaryEntry> vesselConflictsToRemove = new List <DictionaryEntry>(); foreach (DictionaryEntry entry in VesselConflicts) { Vessel vessel = (Vessel)entry.Key; if (vessel.Tag == null) { isInvalid = true; } else { if (vessel.Tag.ToString() == "Source") { vessel = (Vessel)entry.Value; } VesselResolved.Add(vessel); vesselConflictsToRemove.Add(entry); } } foreach (DictionaryEntry entry in raceConflictsToRemove) { RaceConflicts.Remove(entry); } foreach (DictionaryEntry entry in vesselConflictsToRemove) { VesselConflicts.Remove(entry); } if (isInvalid) { Locations.MessageBoxShow("Some conflicts remain unresolved. Please resolve them.", MessageBoxButton.OK, MessageBoxImage.Stop); } else { DialogResult = true; this.Close(); } }