void AddLandingCurrency(Section section, List <Aircraft> list, AircraftClassification @class, bool night, bool tailDragger) { string caption = string.Format("{0} Current{1}", night ? "Night" : "Day", tailDragger ? " (TailDragger)" : ""); DateTime oldestLanding = DateTime.Now; int landings = 0; foreach (var flight in LogBook.GetFlightsForPassengerCurrencyRequirements(list, night)) { landings += flight.NightLandings; if (!night) { landings += flight.DayLandings; } oldestLanding = flight.Date; if (landings >= 3) { section.Add(new CurrencyElement(caption, oldestLanding.AddDays(90))); return; } } // currency is out of date section.Add(new CurrencyElement(caption, DateTime.Now)); }
/// <summary> /// Gets a list of all of the aircraft of the specified category. /// </summary> /// <returns> /// A list of all of the aircraft of the specified category /// </returns> /// <param name='category'> /// The category of aircraft requested. /// </param> public static List <Aircraft> GetAircraft(AircraftCategory category) { AircraftClassification firstClass = (AircraftClassification)(int)category; AircraftClassification lastClass = firstClass + Aircraft.CategoryStep; return(sqlitedb.Query <Aircraft> ("select * from Aircraft where Classification between ? and ?", firstClass, lastClass)); }
/// <summary> /// Gets a list of aircraft of the specified classification. /// </summary> /// <returns> /// A list of aircraft. /// </returns> /// <param name='classification'> /// The classification of aircraft requested. /// </param> /// <param name='includeSimulators'> /// Specifies whether or not simulators should be included. /// </param> public static List <Aircraft> GetAircraft(AircraftClassification classification, bool includeSimulators) { if (includeSimulators) { return(GetAircraft(classification)); } return(sqlitedb.Query <Aircraft> ("select * from Aircraft where Classification = ? and IsSimulator = ?", classification, false)); }
void LoadDayAndNightCurrency() { // Day/Night currency is per-AircraftClassification and TailDragger vs not. foreach (var value in Enum.GetValues(typeof(AircraftClassification))) { AircraftClassification @class = (AircraftClassification)value; List <Aircraft> list = LogBook.GetAircraft(@class, false); if (list == null || list.Count == 0) { continue; } AircraftCategory category = Aircraft.GetCategoryFromClass(@class); Section section; string caption; if (category == AircraftCategory.Airplane) { caption = string.Format("{0} {1}", category.ToHumanReadableName(), @class.ToHumanReadableName()); } else { caption = @class.ToHumanReadableName(); } section = new Section(caption); // Only Airplanes can be tail-draggers if (category == AircraftCategory.Airplane) { List <Aircraft> taildraggers = new List <Aircraft> (); foreach (var aircraft in list) { if (aircraft.IsTailDragger) { taildraggers.Add(aircraft); } } if (taildraggers.Count > 0) { AddLandingCurrency(section, taildraggers, @class, false, true); AddLandingCurrency(section, taildraggers, @class, true, true); } } AddLandingCurrency(section, list, @class, false, false); AddLandingCurrency(section, list, @class, true, false); Root.Add(section); } }
/// <summary> /// Gets a list of all of the aircraft of the specified category. /// </summary> /// <returns> /// A list of all of the aircraft of the specified category /// </returns> /// <param name='category'> /// The category of aircraft requested. /// </param> /// <param name='includeSimulators'> /// Specifies whether or not simulators should be included. /// </param> public static List <Aircraft> GetAircraft(AircraftCategory category, bool includeSimulators) { if (includeSimulators) { return(GetAircraft(category)); } AircraftClassification firstClass = (AircraftClassification)(int)category; AircraftClassification lastClass = firstClass + Aircraft.CategoryStep; return(sqlitedb.Query <Aircraft> ("select * from Aircraft where Classification between ? and ? and IsSimulator = ?", firstClass, lastClass, false)); }
void AddLandingCurrency(Section section, List<Aircraft> list, AircraftClassification @class, bool night, bool tailDragger) { string caption = string.Format ("{0} Current{1}", night ? "Night" : "Day", tailDragger ? " (TailDragger)" : ""); DateTime oldestLanding = DateTime.Now; int landings = 0; foreach (var flight in LogBook.GetFlightsForPassengerCurrencyRequirements (list, night)) { landings += flight.NightLandings; if (!night) landings += flight.DayLandings; oldestLanding = flight.Date; if (landings >= 3) { section.Add (new CurrencyElement (caption, oldestLanding.AddDays (90))); return; } } // currency is out of date section.Add (new CurrencyElement (caption, DateTime.Now)); }
static int ClassificationToIndex(AircraftClassification classification) { return(((int)classification) % Aircraft.CategoryStep); }
/// <summary> /// Gets a list of aircraft of the specified classification. /// </summary> /// <returns> /// A list of aircraft. /// </returns> /// <param name='classification'> /// The classification of aircraft requested. /// </param> /// <param name='includeSimulators'> /// Specifies whether or not simulators should be included. /// </param> public static List<Aircraft> GetAircraft(AircraftClassification classification, bool includeSimulators) { if (includeSimulators) return GetAircraft (classification); return sqlitedb.Query<Aircraft> ("select * from Aircraft where Classification = ? and IsSimulator = ?", classification, false); }
/// <summary> /// Gets a list of aircraft of the specified classification. /// </summary> /// <returns> /// A list of aircraft. /// </returns> /// <param name='classification'> /// The classification of aircraft requested. /// </param> public static List<Aircraft> GetAircraft(AircraftClassification classification) { return sqlitedb.Query<Aircraft> ("select * from Aircraft where Classification = ?", classification); }
/// <summary> /// Gets a list of aircraft of the specified classification. /// </summary> /// <returns> /// A list of aircraft. /// </returns> /// <param name='classification'> /// The classification of aircraft requested. /// </param> public static List <Aircraft> GetAircraft(AircraftClassification classification) { return(sqlitedb.Query <Aircraft> ("select * from Aircraft where Classification = ?", classification)); }
int ClassificationToIndex(AircraftClassification classification) { return ((int) classification) % Aircraft.CategoryStep; }
/// <summary> /// Gets the category from the specified classification. /// </summary> /// <returns> /// The appropriate category for the specified classification. /// </returns> /// <param name='classification'> /// An AircraftClassification. /// </param> public static AircraftCategory GetCategoryFromClass(AircraftClassification classification) { return((AircraftCategory)((((int)classification) / CategoryStep) * CategoryStep)); }
/// <summary> /// Gets the category from the specified classification. /// </summary> /// <returns> /// The appropriate category for the specified classification. /// </returns> /// <param name='classification'> /// An AircraftClassification. /// </param> public static AircraftCategory GetCategoryFromClass(AircraftClassification classification) { return (AircraftCategory) ((((int) classification) / CategoryStep) * CategoryStep); }