/// <summary> /// Fetches the aircraft record from the database for the ICAO24 code passed across. If there is no /// record for the ICAO24 code then one is created. /// </summary> /// <param name="localNow"></param> /// <param name="icao24"></param> /// <returns></returns> private BaseStationAircraft FetchOrCreateAircraft(DateTime now, string icao24) { var result = _Database.GetAircraftByCode(icao24); if (result == null) { var codeBlock = _StandingDataManager.FindCodeBlock(icao24); result = new BaseStationAircraft() { AircraftID = 0, ModeS = icao24, FirstCreated = now, LastModified = now, ModeSCountry = codeBlock == null ? null : codeBlock.Country, }; _Database.InsertAircraft(result); } return(result); }
/// <summary> /// Handles searches for a single aircraft. /// </summary> /// <param name="args"></param> private void SingleAircraftSearch(RequestReceivedEventArgs args) { if (args.Request.HttpMethod == "GET") { var json = new SingleSearchResultsJson(); string icao = null; try { icao = (args.QueryString["icao"] ?? "").ToUpper(); if (icao != "") { json.Aircraft = _BaseStationDatabase.GetAircraftByCode(icao); ++_SearchCount; UpdateStatusTotals(); } } catch (Exception ex) { json.Exception = LogException(ex, "Exception caught during DatabaseEditor SingleAircraftSearch ({0}): {1}", icao, ex.ToString()); } SendJsonResponse(args, json); } }