예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
            }
        }