/// <summary> /// Returns a zero time twin Aircraft with all optional meters set to true. /// </summary> public static Aircraft ZeroTimeTwin(AircraftTotalTarget tgt) { var opts = AllMeterTwinOptions(); var times = new AircraftTimes(0, 0, 0, 0, 0m, 0m, 0m, 0, tgt); times.SetTwinTimes(0m, 0m, 0m); return(new Aircraft("", "", 0, 0, times, opts)); }
public void Throws_On_Invalid_Target(AircraftTotalTarget invalidTgt) { // Create barebones single-engine AircraftOptions // IMPORTANT - Engine1Current is always a valid target. var opts = new AircraftOptions(false, false, false, false, false, false); var times = new AircraftTimes(0m, 0m, 0m, 0m, null, null, null, null, invalidTgt); // Create an aircraft that does not ever have Airtime or ElecHobbs data // while also passing in targets pointing to those properties. Assert.Throws <InvalidTargetException>(() => new Aircraft("", "", 0, 0, times, opts)); }
} // Required by EF Core /// <summary> /// Creates an initial single-engine or simulator time record. Use SetTwinTimes afterwards /// if creating a twin aircraft. /// </summary> public AircraftTimes(decimal eng1Curr, decimal eng1Total, decimal prop1Total, decimal acTotal, decimal?elecHobbs, decimal?airtimeCurr, decimal?airtimeTotal, int?cycles, AircraftTotalTarget atTgt) { Engine1Current = eng1Curr; AircraftTotal = acTotal; Engine1Total = eng1Total; Prop1Total = prop1Total; AircraftTotalTgt = atTgt; ElectricalHobbs = elecHobbs; AirtimeCurrent = airtimeCurr; AirtimeTotal = airtimeTotal; Cycles = cycles; }
public InvalidTargetException(string aircraftId, AircraftTotalTarget tgt) : base($"Attempted to point Aircraft Total Time to an invalid time meter. Aircraft: {aircraftId} Invalid target: {tgt}.") { }