private void ExtractInfo(string pre, ref ContractingConfig cg, ref XmlNode node, ref XmlNamespaceManager nsmanager, bool IsTerritory) { cg.places.AddRange( ReadPorts(node.SelectNodes(pre + "lr:Ports/lr:Port", nsmanager), IsTerritory)); //Port Facilities cg.places.AddRange( ReadPortFacilities(node.SelectNodes(pre + "lr:PortFacilities/lr:PortFacility", nsmanager), IsTerritory)); //Internal waters cg.places.AddRange(ReadPolygons("internalwaters", node.SelectNodes(pre + "lr:InternalWaters/lr:Polygon", nsmanager), IsTerritory)); //Territorial Sea cg.places.AddRange(ReadPolygons("territorialsea", node.SelectNodes(pre + "lr:TerritorialSea/lr:Polygon", nsmanager), IsTerritory)); //SeawardAreaOf1000NM cg.places.AddRange(ReadPolygons("seawardareaof1000nm", node.SelectNodes(pre + "lr:SeawardAreaOf1000NM/lr:Polygon", nsmanager), IsTerritory)); //CustomCoastalAreas cg.places.AddRange(ReadPolygons("customcoastalareas", node.SelectNodes(pre + "lr:CustomCoastalAreas/lr:Polygon", nsmanager), IsTerritory)); cg.sarservice.AddRange(ReadSARServices(node.SelectNodes(pre + "lr:SARServices/lr:SARService", nsmanager))); }
private void readCGS(string mpath, ref Dictionary <ContractingGoverment, ContractingConfig> goverments, ref XmlDocument ddpxml, ref XmlNamespaceManager nsmanager) { foreach (XmlNode goverment in ddpxml.SelectNodes(mpath, nsmanager)) { ContractingGoverment cg = ReadContractingGoverment(goverment); goverments[cg] = new ContractingConfig(); var cc = goverments[cg]; var dd = goverment; //Nested in CG ExtractInfo("", ref cc, ref dd, ref nsmanager, false); //Nested in Territory ExtractInfo("/lr:DataDistributionPlan/lr:Territory[@contractingGovernmentID='" + cg.LRITId.ToString() + "']/", ref cc, ref dd, ref nsmanager, true); //Exclusions foreach (XmlNode exclusion in ddpxml.SelectNodes("/lr:DataDistributionPlan/lr:Exclusions/lr:Exclusion[@contractingGovernmentID='" + cg.LRITId.ToString() + "']", nsmanager)) { var ex = new Exclusion(); ex.exclusionID = exclusion.Attributes["exclusionID"].Value; ex.ExcludedContractingGovernmentID = exclusion["ExcludedContractingGovernmentID"].InnerText; if (exclusion["From"] != null) { ex.FromDate = DateTime.Parse(exclusion["From"].InnerText).ToUniversalTime(); } else { ex.FromDate = new DateTime(2000, 1, 1); } if (exclusion["Until"] != null) { ex.ToDate = DateTime.Parse(exclusion["Until"].InnerText).ToUniversalTime(); } else { ex.ToDate = new DateTime(2050, 1, 1); } //goverments[cg].exclusions.Add(ex); cg.Exclusions.Add(ex); } } }