Beispiel #1
0
        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)));
        }
Beispiel #2
0
        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);
                }
            }
        }