public ATPCanadaHelicopter() : base(Resources.MilestoneProgress.TitleCAATPHelicopter, CategoryClass.CategoryClassFromID(CategoryClass.CatClassID.Helicopter).Category, CategoryClass.CategoryClassFromID(CategoryClass.CatClassID.ASEL).Category, "421.35(4)", RatingType.ATPHelicopter) { MinHours = 1000; MinInCategory = 600; MinXC = 200; MinPICInCategory = 250; MaxPICUSInCategory = 150; MinPICXC = 100; MinPICXCNight = 0; MinNight = 50; MinNightInCategory = 15; MinXCPICAdditional = 100; MinXCSICPICAdditional = 200; MinInstrument = 30; MaxSimulator = 0; MaxInstrumentAlternativeCategory = 15; InitMilestones(Resources.MilestoneProgress.CAATPHelicopters, Resources.MilestoneProgress.CAATPAeroplanes); miPICXC.FARRef = ResolvedFAR("(c)"); }
public DPEBase(DPEThresholds dpet, CategoryClass.CatClassID ccid, string szFarRef) { if (dpet == null) { throw new ArgumentNullException("dpet"); } BaseFAR = "Order 8900.2A"; string szResolved = ResolvedFAR(szFarRef); catClass = CategoryClass.CategoryClassFromID(ccid); string szCatClass = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.LocalizedJoinWithSpace, catClass.Category, catClass.Class); miPIC = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPEPICTime, dpet.PIC), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.PIC); miPICPastYear = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPEPICTimePastYear, dpet.PICPastYear, catClass.Category), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.PICPastYear); miPICCategory = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPEPICCategory, dpet.PICCategory, catClass.Category), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.PICCategory); miPICClass = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPEPICClass, dpet.PICClass, szCatClass), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.PICClass); miPICNight = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPEPICNight, dpet.PICNight), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.PICNight); miCFICategory = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPECFICategory, dpet.CFICategory, catClass.Category), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.CFICategory); miCFIClass = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPECFIClass, dpet.CFIClass, szCatClass), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.CFIClass); miPICFlightsInPriorYear = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPEFlightsPastYear, dpet.PICFlightsInClassPriorYear, catClass.Category), szResolved, string.Empty, MilestoneItem.MilestoneType.Count, dpet.PICFlightsInClassPriorYear); miPICComplexTime = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPEComplex, dpet.PICComplexTime), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.PICComplexTime); miPICInstrumentTime = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPEInstrument, dpet.PICInstrumentTime), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.PICInstrumentTime); miCFIITime = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPEInstrumentInstruction, dpet.CFIITime), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.CFIITime); miCFIITimeInCategory = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.DPEInstrumentInstructionInCategory, dpet.CFIITimeInCategory, catClass.Category), szResolved, string.Empty, MilestoneItem.MilestoneType.Time, dpet.CFIITimeInCategory); }
public EASASPLInstructorCurrency(string szName) : base(szName) { Query = new FlightQuery() { DateRange = FlightQuery.DateRanges.Custom, DateMin = DateTime.Now.Date.AddYears(-3), HasCFI = true, HasLandings = true, FlightCharacteristicsConjunction = GroupConjunction.Any }; Query.AddCatClass(CategoryClass.CategoryClassFromID(CategoryClass.CatClassID.Glider)); }
public EASATMGCurrency(string szName) : base(szName) { Query = new FlightQuery() { DateRange = FlightQuery.DateRanges.Custom, DateMin = DateTime.Now.AddYears(-2), IsMotorglider = true }; Query.AddCatClass(CategoryClass.CategoryClassFromID(CategoryClass.CatClassID.Glider)); }
public CatClassTotal(string catClass, CategoryClass.CatClassID ccid) { Total = 0.0M; CatClassDisplay = catClass; CCId = ccid; CatClass = CategoryClass.CategoryClassFromID(ccid); Count = 0; TotalLandings = TotalFSDayLandings = TotalFSNightLandings = TotalApproaches = 0; }
public ATPCanadaAirplane() : base(Resources.MilestoneProgress.TitleCAATPAirplane, CategoryClass.CategoryClassFromID(CategoryClass.CatClassID.ASEL).Category, CategoryClass.CategoryClassFromID(CategoryClass.CatClassID.Helicopter).Category, "421.34(4)", RatingType.ATPAirplane) { MinHours = 1500; MinInCategory = 900; MinXC = 0; MinPICInCategory = 250; MaxPICUSInCategory = 100; MinPICXC = 100; MinPICXCNight = 25; MinNight = 100; MinNightInCategory = 30; MinXCPICAdditional = 100; MinXCSICPICAdditional = 200; MinInstrument = 75; MaxSimulator = 25; MaxInstrumentAlternativeCategory = 35; InitMilestones(Resources.MilestoneProgress.CAATPAeroplanes, Resources.MilestoneProgress.CAATPHelicopters); }
protected ATPAirplane(string title, CategoryClass.CatClassID ccid, decimal minTime = 1500, decimal minXCTime = 500, bool fCanCreditSICAndFlightEngineer = false) { Title = title; requiredCatClassID = ccid; BaseFAR = "61.159"; RatingSought = RatingType.ATPAirplane; ATPTotalTime = minTime; ATPMinXC = minXCTime; CanCreditSICAndFlightEngineer = fCanCreditSICAndFlightEngineer; CategoryClass cc = CategoryClass.CategoryClassFromID(ccid); miTotal = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.ATPMinTime, ATPTotalTime), ResolvedFAR("(a)"), fCanCreditSICAndFlightEngineer ? Branding.ReBrand(Resources.MilestoneProgress.ATPTotalTimeSubstitutionNote) : string.Empty, MilestoneItem.MilestoneType.Time, ATPTotalTime); miMinXCTime = new MilestoneItem(Resources.MilestoneProgress.ATPMinXCTime, ResolvedFAR("(a)(1)"), string.Empty, MilestoneItem.MilestoneType.Time, ATPMinXC); miMinNightTime = new MilestoneItem(Resources.MilestoneProgress.ATPMinNightTime, ResolvedFAR("(a)(2)"), Resources.MilestoneProgress.ATPAirplaneNightLandingsNote, MilestoneItem.MilestoneType.Time, ATPMinNight); miMinTimeInClass = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.ATPTimeInClass, ATPMinTimeInClass, cc.Class), ResolvedFAR("(a)(3)"), Branding.ReBrand(Resources.MilestoneProgress.ATPAirplaneClassSimulatorNote), MilestoneItem.MilestoneType.Time, ATPMinTimeInClass); miMinInstrumentTime = new MilestoneItem(Resources.MilestoneProgress.ATPInstrumentTime, ResolvedFAR("(a)(4)"), Resources.MilestoneProgress.ATPAirplaneSimulatorNote, MilestoneItem.MilestoneType.Time, ATPMinIFR); miMinPIC = new MilestoneItem(Resources.MilestoneProgress.ATPPICTime, ResolvedFAR("(a)(5)"), Resources.MilestoneProgress.ATPPICTimeNote, MilestoneItem.MilestoneType.Time, ATPMinPIC); miMinPICXC = new MilestoneItem(Resources.MilestoneProgress.ATPXCPICTime, ResolvedFAR("(a)(5)(i)"), Resources.MilestoneProgress.ATPPICTimeNote, MilestoneItem.MilestoneType.Time, ATPMinPICXC); miMinPICNight = new MilestoneItem(Resources.MilestoneProgress.ATPNightPICTime, ResolvedFAR("(a)(5)(ii)"), Resources.MilestoneProgress.ATPPICTimeNote, MilestoneItem.MilestoneType.Time, ATPMinPICNight); miNightTO = new MilestoneItem(string.Empty, ResolvedFAR("(b)"), string.Empty, MilestoneItem.MilestoneType.Count, ATPMinNightTakeoffs); miNightLanding = new MilestoneItem(string.Empty, ResolvedFAR("(b)"), string.Empty, MilestoneItem.MilestoneType.Count, ATPMinNightLandings); }
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"; RatingSought = RatingType.RecreationalPilot; // 61.99 overall miMinTime = new MilestoneItem(Resources.MilestoneProgress.RecreationalMinTime, BaseFAR, 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 MilestoneItem(Resources.MilestoneProgress.RecreationTestPrep, ResolvedFAR("(a)(1)(ii)"), Branding.ReBrand(Resources.MilestoneProgress.NoteTestPrep), MilestoneItem.MilestoneType.Time, 3.0M); // 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); }
public ATPCanadaAirplane() : base(Resources.MilestoneProgress.TitleCAATPAirplane, CategoryClass.CategoryClassFromID(CategoryClass.CatClassID.ASEL).Category, CategoryClass.CategoryClassFromID(CategoryClass.CatClassID.Helicopter).Category, "421.34(4)", RatingType.ATPAirplane, "https://tc.canada.ca/en/corporate-services/acts-regulations/list-regulations/canadian-aviation-regulations-sor-96-433/standards/standard-421-flight-crew-permits-licences-ratings-canadian-aviation-regulations-cars#421_34") { MinHours = 1500; MinInCategory = 900; MinXC = 0; MinPICInCategory = 250; MaxPICUSInCategory = 100; MinPICXC = 100; MinPICXCNight = 25; MinNight = 100; MinNightInCategory = 30; MinXCPICAdditional = 100; MinXCSICPICAdditional = 200; MinInstrument = 75; MaxSimulator = 25; MaxInstrumentAlternativeCategory = 35; InitMilestones(Resources.MilestoneProgress.CAATPAeroplanes, Resources.MilestoneProgress.CAATPHelicopters); }
protected CFIBase(string title, CategoryClass.CatClassID ccid, RatingType rt) { Title = title; requiredCatClassID = ccid; BaseFAR = "61.183"; RatingSought = rt; FARLink = "https://www.law.cornell.edu/cfr/text/14/61.183"; miPIC = new MilestoneItem(String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.CFITimeInCategoryClass, CFIMinTime, CategoryClass.CategoryClassFromID(ccid).CatClass), ResolvedFAR("(j)"), string.Empty, MilestoneItem.MilestoneType.Time, CFIMinTime); }