Beispiel #1
0
        public void ParseGridMapTest_ParseOk()
        {
            XDocument gridLayerXml = TestXml.ReadXDocument(@"Data\GridLayer\RuteNettKartTest.xml");

            GridLayer gridLayer = GridLayerImpl.FromXml(gridLayerXml);

            Assert.NotNull(gridLayer);
        }
Beispiel #2
0
        public void ParseAreaMapTest_ParseOk()
        {
            XDocument areaLayerXml = TestXml.ReadXDocument(@"Data\AreaLayer\OmraadeKartTest.xml");

            GridLayer areaLayer = GridLayerImpl.FromXml(areaLayerXml);

            Assert.NotNull(areaLayer);
        }
Beispiel #3
0
        public static Layer FraAdministrativtOmrådeNinXml(string dataFile)
        {
            XDocument xml = XDocument.Load(File.OpenRead(dataFile));

            if (xml.Root.Name.LocalName == "AdministrativtOmraadeKart")
            {
                return(FromXml(xml));
            }
            return(GridLayerImpl.FromXml(xml));
        }
Beispiel #4
0
        public void ConvertGridLayerTest()
        {
            const string excelFilePath = @"C:\Artsdatabanken\NIBIO\SSB1000test.xlsx";
            var          gridLayer     = GridLayerImpl.FromExcelFile(excelFilePath, RutenettType.SSB001KM, "Antall landbruk Test", 2);

            gridLayer.Established = new DateTime(2016, 3, 7);
            gridLayer.Code        = new Code
            {
                Value    = "LB",
                Registry = "NiN",
                Version  = "2.0"
            };
            gridLayer.Owner = new Contact
            {
                Company  = "NIBIO",
                Homesite = "www.nibio.no"
            };

            var gridXml = new XmlConverter().ToXml(gridLayer);

            gridXml.Save(@"C:\Artsdatabanken\KartTestData\RuteNettKartLandbruk.xml");
        }
Beispiel #5
0
        public void ConvertTemperatureGridLayerTest()
        {
            const string excelFilePath = @"C:\Artsdatabanken\NIBIO\NIBO_SSB_5x5_export.xlsx";
            var          gridLayer     = GridLayerImpl.FromExcelFile(excelFilePath, RutenettType.SSB005KM, "Temperatur Test", 6);

            gridLayer.Established = new DateTime(2016, 3, 7);
            gridLayer.Code        = new Code
            {
                Value    = "TEMP",
                Registry = "NiN",
                Version  = "2.0"
            };
            gridLayer.Owner = new Contact
            {
                Company  = "NIBIO",
                Homesite = "www.nibio.no"
            };

            var gridXml = new XmlConverter().ToXml(gridLayer);

            gridXml.Save(@"C:\Artsdatabanken\KartTestData\RuteNettKartTemperatur.xml");
        }
        public async Task <string> UploadGrid()
        {
            Authorize("Dataleverandør");

            IFormFile    grid2 = Request.Form.Files.GetFile("grid");
            HttpFormFile grid  = new HttpFormFile(grid2);
            DataFiles    files = HttpFormFile.GetFormFiles(Request.Form.Files);

            var gridXml = grid.ReadXml();

            dataleveranseXmlGreier.ValidateGrid(gridXml);
            try
            {
                var gridFileDocId = Guid.NewGuid();
                var gridFile      = new File
                {
                    Id          = gridFileDocId.ToString(),
                    FileName    = grid.Filename,
                    ContentType = grid.ContentType,
                    Content     = grid.OpenReadStream()
                };
                await arkiv.LagreFil(gridFile);

                Collection <Nin.Types.MsSql.Document> documents;
                if (gridXml.Root.Name.LocalName.Equals("AdministrativtOmraadeKart"))
                {
                    AreaLayer areaLayer = AreaLayerImpl.FromXml(gridXml);
                    files.CheckDocuments(areaLayer.Documents);
                    areaLayer.DocGuid = gridFileDocId;
                    documents         = areaLayer.Documents;
                    SqlServer.BulkStoreAreaLayer(areaLayer);
                }
                else
                {
                    var gridLayer = GridLayerImpl.FromXml(gridXml);

                    files.CheckDocuments(gridLayer.Documents);
                    gridLayer.DocGuid = gridFileDocId;
                    documents         = gridLayer.Documents;
                    SqlServer.BulkStoreGridLayer(gridLayer);
                }

                foreach (var file in files.Values)
                {
                    var fileName = file.Filename;
                    var document = FindDocument(documents, fileName);

                    var docFile = new File
                    {
                        Id          = document.Guid.ToString(),
                        FileName    = fileName,
                        ContentType = file.ContentType,
                        Content     = file.OpenReadStream()
                    };
                    await arkiv.LagreFil(docFile);
                }
            }
            catch
            {
                arkiv.DiscardChanges();
                throw;
            }

            return("OK");
        }