public StartingFlight(string szUser, RepresentativeAircraft ra) : base() { this.RepresentativeAircraft = ra ?? throw new ArgumentNullException(nameof(ra)); this.AircraftID = ra.ExampleAircraft.AircraftID; this.User = szUser; this.Comment = Resources.LogbookEntry.StartingFlightComment; }
public static List <RepresentativeAircraft> RepresentativeAircraftForUser(string szUser, RepresentativeTypeMode mode) { List <RepresentativeAircraft> l = new List <RepresentativeAircraft>(); UserAircraft ua = new UserAircraft(szUser); DBHelper dbh = new DBHelper(); switch (mode) { case RepresentativeTypeMode.ByModel: dbh.CommandText = sqlAircraftModels; break; case RepresentativeTypeMode.CatClassCapabilities: dbh.CommandText = sqlAircraftCatClassCapabilities; break; default: case RepresentativeTypeMode.CatClassType: dbh.CommandText = sqlAircraftCatClassType; break; } dbh.ReadRows((comm) => { comm.Parameters.AddWithValue("?uName", szUser); }, (dr) => { try { RepresentativeAircraft ra = new RepresentativeAircraft(); string aircraftIDs = (string)dr["AircraftIDs"]; string[] rgIDs = aircraftIDs.Split(','); ra.ExampleAircraft = ua.GetUserAircraftByID(Convert.ToInt32(rgIDs[0], CultureInfo.InvariantCulture)); ra.IsComplex = Convert.ToBoolean(dr["fComplex"], CultureInfo.InvariantCulture); ra.IsConstantProp = Convert.ToBoolean(dr["fConstantProp"], CultureInfo.InvariantCulture); ra.IsHighPerf = Convert.ToBoolean(dr["fHighPerf"], CultureInfo.InvariantCulture); ra.IsRetract = Convert.ToBoolean(dr["fRetract"], CultureInfo.InvariantCulture); ra.IsTailwheel = Convert.ToBoolean(dr["fTailwheel"], CultureInfo.InvariantCulture); ra.IsTurbine = Convert.ToBoolean(dr["fTurbine"], CultureInfo.InvariantCulture); switch (mode) { case RepresentativeTypeMode.ByModel: ra.Name = ra.ExampleAircraft.ModelCommonName; break; default: case RepresentativeTypeMode.CatClassCapabilities: case RepresentativeTypeMode.CatClassType: ra.Name = (string)dr["catclasstype"]; break; } l.Add(ra); } catch (Exception ex) when(!(ex is OutOfMemoryException)) { } } ); return(l); }