public void LoadTest() { var lines = List( "1A,WILLIAMS HARBOUR,373.000,0,0,110,52.55938,-55.78192,0,CY,0,1,0", "1B,SABLE ISLAND,277.000,0,0,110,43.93056,-60.02278,0,CY,0,1,0", "1D,CHARLOTTETOWN,346.000,0,0,110,52.77541,-56.12596,0,CY,0,1,0", ""); var navaids = NavaidsLoader.Load(lines); var x = new Navaid() { ID = "1A", Name = "WILLIAMS HARBOUR", Freq = "373.000", IsVOR = false, IsDME = false, RangeNm = 110, Lat = 52.55938, Lon = -55.78192, CountryCode = "CY" }; Assert.AreEqual(3, navaids.Count); Assert.AreEqual(x, navaids.FindAny("1A")); Assert.AreEqual(43.93056, navaids.FindAny("1B").Lat); Assert.AreEqual("346.000", navaids.FindAny("1D").Freq); }
private Navaid XmlNavaidToData(string rpuname, XElement navaidElem) { String _buf; Navaid _rpu = new Navaid(); _rpu.Name = navaidElem.Element("airport").Element("navaids").Element(rpuname).Element("name").Value; _buf = navaidElem.Element("airport").Element("navaids").Element(rpuname).Element("runwaynum").Value; if (_buf.Length != 0) { _rpu.RunwayNum = Int32.Parse(_buf); } _buf = navaidElem.Element("airport").Element("navaids").Element(rpuname).Element("enable").Value; if (string.Compare(_buf.ToLower(), "on") == 0) { _rpu.Enable = true; } else { _rpu.Enable = false; } _rpu.Rpunum = (int)Char.GetNumericValue(rpuname[rpuname.Length - 1]); return(_rpu); }
public RpuBinding(RpuBuzzer rpubuzzer, RpuDataCom rpudatacom, RpuMaintenance rpumaintenance, RpuStatus rpustatus, GroupBox rpubox, Navaid navaid) { _RpuBuzzer = rpubuzzer; _RpuDataCom = rpudatacom; _RpuMaintenance = rpumaintenance; _RpuStatus = rpustatus; _RpuBox = rpubox; _Navaid = navaid; rpubox.Text = rpubox.Text + " " + navaid.Name; if (_Navaid.Enable) { rpubox.Enabled = true; } else { rpubox.Enabled = false; } }
private static async Task ProcessNavaidData(ContainerResponse container, string path) { var selector = new FixedLengthTypeMapperSelector(); selector.When(s => s.StartsWith("NAV1")).Use(NavaidMapper.GetNavaidMapper()); selector.When(s => s.StartsWith("NAV2")) .Use(NavaidMapper.GetNavaidRemarksMapper()); selector.When(s => s.StartsWith("NAV3")).Use(NavaidMapper.GetAirspaceFixesAssociatedWithNavaidMapper()); selector.When(s => s.StartsWith("NAV4")) .Use(NavaidMapper.GetHoldingPatternMapper()); selector.When(s => s.StartsWith("NAV5")).Use(NavaidMapper.GetFanmarkerMapper()); selector.When(s => s.StartsWith("NAV6")).Use(NavaidMapper.GetReceiverCheckpointMapper()); var mapit = new StringBuilder(); using var reader = new StreamReader(File.OpenRead($@"{path}\NAV.txt")); var flr = selector.GetReader(reader); Navaid navaid = null; while (flr.Read()) { switch (flr.Current) { case Navaid navaidData: if (navaid != null) { if (Coordinate.TryParse($"{navaid.NavaidLongitudeFormatted} {navaid.NavaidLatitudeFormatted}", out Coordinate c)) { navaid.Location = new Point(c.Longitude.DecimalDegree, c.Latitude.DecimalDegree); } navaid.id = $"{navaid.NavaidFacilityIdentifier}|{navaid.NavaidFacilityType.Replace("/", string.Empty)}|{navaid.CityAssociatedWithTheNavaid}"; navaid.RecordTypeIndicator = "NAVAID"; try { var readResponse = await container.Container.ReadItemAsync <Navaid>(navaid.id, new PartitionKey("NAVAID")); var replaceResponse = await container.Container.ReplaceItemAsync <Navaid>(navaid, navaid.id, new PartitionKey("NAVAID")); Console.WriteLine($"Replaced {navaid.NavaidFacilityIdentifier}"); } catch (CosmosException ex) when(ex.StatusCode == HttpStatusCode.NotFound) { // Save the record to the DB var navaidResponse = await container.Container.CreateItemAsync <Navaid>(navaid, new PartitionKey("NAVAID")); Console.WriteLine($"Created {navaid.NavaidFacilityIdentifier}"); } } navaid = navaidData; break; case NavaidRemark remark: navaid.Remarks ??= new List <NavaidRemark>(); navaid.Remarks.Add(remark); break; case AirspaceFixAssociatedWithNavaid asf: navaid.AirspaceFixes ??= new List <AirspaceFixAssociatedWithNavaid>(); navaid.AirspaceFixes.Add(asf); break; case HoldingPattern holdingPattern: navaid.HoldingPatterns ??= new List <HoldingPattern>(); navaid.HoldingPatterns.Add(holdingPattern); break; case FanMarkerAssociatedwithnavaid fanMarker: navaid.FanMarkers ??= new List <FanMarkerAssociatedwithnavaid>(); navaid.FanMarkers.Add(fanMarker); break; case VorReceiverCheckpointAssociatedWithNavaid rcvr: navaid.VorReceivers ??= new List <VorReceiverCheckpointAssociatedWithNavaid>(); navaid.VorReceivers.Add(rcvr); break; default: throw new Exception("Not found"); } } }