protected void Init() { string szFar = ResolvedFAR("(1)"); miMinTime = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.SportMinTime, minTime, CategoryName), szFar, string.Empty, MilestoneItem.MilestoneType.Time, minTime); miMinInstruction = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.SportMinInstruction, minInstruction, CategoryName), szFar, string.Empty, MilestoneItem.MilestoneType.Time, minInstruction); miMinSolo = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.SportMinSolo, minSolo, CategoryName), szFar, string.Empty, MilestoneItem.MilestoneType.Time, minSolo); miMinCrossCountry = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.SportMinXC, CategoryName), ResolvedFAR("(1)(i)"), string.Empty, MilestoneItem.MilestoneType.Time, 2.0M); miMinLandings = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.SportMinLandings, CategoryName), ResolvedFAR("(1)(ii)"), Resources.MilestoneProgress.SportPilotLandingNote, MilestoneItem.MilestoneType.Count, 10); miSoloXCFlight = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.SportSoloXCFlight, CategoryName, MinXCDistance), ResolvedFAR("(1)(iii)"), string.Empty, MilestoneItem.MilestoneType.AchieveOnce, 1); miTestPrep = new MilestoneItemDecayable(Resources.MilestoneProgress.SportTestPrepTime, ResolvedFAR("(1)(iv)"), Branding.ReBrand(Resources.MilestoneProgress.NoteTestPrep), MilestoneItem.MilestoneType.Time, 2.0M, 2); }
/// <summary> /// Initializes an instrument rating object /// </summary> /// <param name="szTitle">Title</param> /// <param name="szBaseFAR">Base FAR</param> /// <param name="ratingSought">Specific rating being sought</param> protected virtual void Init(string szTitle, string szBaseFAR, RatingType ratingSought, string farLink) { Title = szTitle; BaseFAR = szBaseFAR; FARLink = farLink; RatingSought = ratingSought; FTDTimeRemaining = MaxFTDTime; string szAircraftCategory; switch (RatingSought) { case RatingType.InstrumentAirplane: szAircraftCategory = Resources.MilestoneProgress.ratingAirplane; break; case RatingType.InstrumentHelicopter: szAircraftCategory = Resources.MilestoneProgress.ratingHelicopter; break; case RatingType.InstrumentPoweredLift: szAircraftCategory = Resources.MilestoneProgress.ratingPoweredLift; break; default: throw new MyFlightbookException(String.Format(CultureInfo.InvariantCulture, "Unallowed rating for 61.65: {0}", RatingSought.ToString())); } // 61.65(def)(1) miMinXCTime = new MilestoneItem(Resources.MilestoneProgress.MinInstrumentPICXC, ResolvedFAR("(1)"), Resources.MilestoneProgress.NoteXCTime, MilestoneItem.MilestoneType.Time, 50.0M); miMinTimeInCategory = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.MinInstrumentPICInCategory, szAircraftCategory), ResolvedFAR("(1)"), String.Empty, MilestoneItem.MilestoneType.Time, 10.0M); // 61.65(def)(2) - total instrument time miMinIMCTime = new MilestoneItem(Resources.MilestoneProgress.MinInstrumentTime, ResolvedFAR("(2)"), Branding.ReBrand(Resources.MilestoneProgress.NoteInstrumentTime), MilestoneItem.MilestoneType.Time, 40.0M); // 61.65(def)(2) - Instrument training miInstrumentTraining = new MilestoneItem(Resources.MilestoneProgress.MinInstrumentTraining, ResolvedFAR("(2)"), Branding.ReBrand(Resources.MilestoneProgress.MinInstrumentTrainingNote), MilestoneItem.MilestoneType.Time, 15.0M); // 61.65(def)(2)(i) - recent test prep miMinIMCTestPrep = new MilestoneItemDecayable(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.MinInstrumentTestPrep, szAircraftCategory), ResolvedFAR("(2)(i)"), Branding.ReBrand(Resources.MilestoneProgress.NoteTestPrep), MilestoneItem.MilestoneType.Time, 3.0M, 2); // 61.65(def)(2)(ii) - cross-country miIMCXC = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.MinInstrumentXC, szAircraftCategory, MinXCDistance), ResolvedFAR("(2)(ii)"), Branding.ReBrand(Resources.MilestoneProgress.NoteInstrumentXC), MilestoneItem.MilestoneType.AchieveOnce, 1.0M); }
public SportPilotGlider() : base() { // Basic MilestoneProgress stuff Title = Resources.MilestoneProgress.TitleSportGlider; CatClassID = CategoryClass.CatClassID.Glider; BaseFAR = "61.313(b, c)"; RatingSought = RatingType.SportGlider; // Parameters for SportBasePilot CategoryName = Resources.MilestoneProgress.SportGliderCategory; // Unique to this class TotalHeavierThanAir = 0.0M; QualifiesByHeavierThanAir = false; string szFar = ResolvedFAR("(1)"); miMinTime = new MilestoneItem(Resources.MilestoneProgress.SportMinTimeGlider, szFar, string.Empty, MilestoneItem.MilestoneType.Time, 10); miMinTrainingFlights = new MilestoneItem(Resources.MilestoneProgress.SportMinFlightsGlider, szFar, string.Empty, MilestoneItem.MilestoneType.Count, 10); miMinSolo = new MilestoneItem(Resources.MilestoneProgress.SportMinSoloGlider, szFar, string.Empty, MilestoneItem.MilestoneType.Time, 2); miMinSoloFlights = new MilestoneItem(Resources.MilestoneProgress.SportMinSoloLandings, ResolvedFAR("(1)(i)"), Resources.MilestoneProgress.SportMinLandingsNote, MilestoneItem.MilestoneType.Count, 5); miTestPrep = new MilestoneItemDecayable(Resources.MilestoneProgress.SportMinTraining, ResolvedFAR("(1)(ii)"), Resources.MilestoneProgress.NoteTestPrep, MilestoneItem.MilestoneType.Count, 3, 2); }
protected void Init(CategoryClass.CatClassID ccid) { CategoryClass cc = CategoryClass.CategoryClassFromID(CatClassID = ccid); Title = String.Format(CultureInfo.CurrentCulture, "{0} - {1}", Resources.MilestoneProgress.Title6199, cc.CatClass); BaseFAR = "61.99"; FARLink = "https://www.law.cornell.edu/cfr/text/14/61.99"; RatingSought = RatingType.RecreationalPilot; // 61.99 overall miMinTime = new MilestoneItem(Resources.MilestoneProgress.RecreationalMinTime, ResolvedFAR(string.Empty), string.Empty, MilestoneItem.MilestoneType.Time, 30.0M); // 61.99(a) - 15 hours of dual miMinInstruction = new MilestoneItem(Resources.MilestoneProgress.RecreationalMinTraining, ResolvedFAR("(a)"), String.Empty, MilestoneItem.MilestoneType.Time, 15.0M); // 61.99(a)(1)(i) - 2 hours of flight training in 25nm flights with at least 4 landings miXCFlight = new MilestoneItem(Resources.MilestoneProgress.RecreationalMinXC, ResolvedFAR("(a)(1)(i)"), Resources.MilestoneProgress.RecreationalMinXCNote, MilestoneItem.MilestoneType.Time, 2.0M); // 61.99(a)(1)(ii) - 3 hours of flight training within preceding 2 months. miTestPrep = new MilestoneItemDecayable(Resources.MilestoneProgress.RecreationTestPrep, ResolvedFAR("(a)(1)(ii)"), Branding.ReBrand(Resources.MilestoneProgress.NoteTestPrep), MilestoneItem.MilestoneType.Time, 3.0M, 2); // 61.99(a)(2) - 3 hours of solo time miMinSolo = new MilestoneItem(Resources.MilestoneProgress.RecreationalMinSolo, ResolvedFAR("(a)(2)"), Resources.MilestoneProgress.NoteSoloTime, MilestoneItem.MilestoneType.Time, 3.0M); }