public void StoreDataDeliveryTest() { var identification = new Identification { LocalId = Guid.NewGuid(), NameSpace = "DataAccessTest", VersionId = "1.0" }; var natureArea = new NatureArea { UniqueId = identification, Version = "2.0", Nivå = NatureLevel.Natursystem, //Area = SqlGeometry.STPolyFromText(new SqlChars("POLYGON ((5 5, 10 5, 10 10, 5 5))"), 0), //Area = SqlGeometry.STPolyFromText(new SqlChars("POLYGON ((-11 55, -10 35, -5.5 36, -1 36, 1 38, 5 38, 11 38, 14 36, 26 33, 29 36, 26 39, 29 46, 39 47, 40 49, 27 56, 27 60, 25 60, 20 58, 21 56, 19 55, 11 55, 10 57, 7 57, 8 54, 3 53, -2 60, -8 58, -11 55))"), 0), Area = "POLYGON ((-11 55, -10 35, -5.5 36, -1 36, 1 38, 5 38, 11 38, 14 36, 26 33, 29 36, 26 39, 29 46, 39 47, 40 49, 27 56, 27 60, 25 60, 20 58, 21 56, 19 55, 11 55, 10 57, 7 57, 8 54, 3 53, -2 60, -8 58, -11 55))", AreaEpsgCode = 25832, Surveyer = new Contact { Company = "Norconsult informasjonssystemer AS", ContactPerson = "Magne Tøndel", Email = "*****@*****.**", Phone = "+4748164614", Homesite = "www.nois.no" }, Surveyed = new DateTime(2015, 9, 18, 19, 00, 00), Description = "Description" }; natureArea.Documents.Add(new Document { Title = "NatureAreaDocumentOne", Description = "Description", Author = new Contact { Company = "Norconsult informasjonssystemer AS", ContactPerson = "Magne Tøndel", Email = "*****@*****.**", Phone = "+4748164614", Homesite = "www.nois.no" }, FileName = "C:\\Document\\TestNatureAreaOne" }); natureArea.Documents.Add(new Document { Title = "NatureAreaDocumentTwo", Description = "Description", Author = new Contact { Company = "Norconsult informasjonssystemer AS", ContactPerson = "Magne Tøndel", Email = "*****@*****.**", Phone = "+4748164614", Homesite = "www.nois.no" }, FileName = "C:\\Document\\TestNatureAreaTwo" }); var metadata = new Metadata { UniqueId = identification, Program = "Program", ProjectName = "ProjectName", ProjectDescription = "ProjectDescription", Quality = new Quality { MeasuringMethod = "Terrengmålt: Uspesifisert måleinstrument", Accuracy = 1, Visibility = "Fullt ut synlig/gjenfinnbar i terrenget", MeasuringMethodHeight = "Terrengmålt: Totalstasjon", AccuracyHeight = 2, MaxDeviation = 3, }, }; metadata.NatureAreas.Add(natureArea); metadata.Documents.Add( new Document { Title = "NatureAreaDocument", Description = "Description", FileName = "C:\\Document\\TestMetadata" } ); var dataDelivery = new Dataleveranse { Name = "DataDeliveryTest", DeliveryDate = DateTime.Now, Metadata = metadata, Created = new DateTime(2015, 9, 17, 12, 30, 30), Publisering = Status.Importert }; var id = dbInterface.LagreDataleveranse(dataDelivery); Assert.IsNotEmpty(id); }
private static Metadata ParseMetadata(XElement xElement) { var metadata = new Metadata(); if (xElement == null) { return(metadata); } var metadataElement = NinXmlParser.GetChildElements(xElement, "Metadata", TillatAntall.AkkuratEn); var e0 = metadataElement[0]; var metadataUniqueIds = NinXmlParser.GetChildElements(e0, "unikId", TillatAntall.AkkuratEn); metadata.UniqueId = ParseIdentification(metadataUniqueIds[0]); var metadataPrograms = NinXmlParser.GetChildElements(e0, "program", TillatAntall.AkkuratEn); metadata.Program = metadataPrograms[0].Value; var metadataProjectNames = NinXmlParser.GetChildElements(e0, "prosjektnavn", TillatAntall.AkkuratEn); metadata.ProjectName = metadataProjectNames[0].Value; var metadataProjectDescriptions = NinXmlParser.GetChildElements(e0, "prosjektbeskrivelse", TillatAntall.MaksimaltEn); if (metadataProjectDescriptions.Count == 1) { metadata.ProjectDescription = metadataProjectDescriptions[0].Value; } var metadataPurposes = NinXmlParser.GetChildElements(e0, "formaal", TillatAntall.MaksimaltEn); if (metadataPurposes.Count == 1) { metadata.Purpose = metadataPurposes[0].Value; } var metadataContractors = NinXmlParser.GetChildElements(e0, "oppdragsgiver", TillatAntall.AkkuratEn); metadata.Contractor = NinXmlParser.ParseContact(metadataContractors[0]); var metadataOwners = NinXmlParser.GetChildElements(e0, "eier", TillatAntall.AkkuratEn); metadata.Owner = NinXmlParser.ParseContact(metadataOwners[0]); var metadataSurveyedFromDates = NinXmlParser.GetChildElements(e0, "kartlagtFraDato", TillatAntall.AkkuratEn); metadata.SurveyedFrom = Convert.ToDateTime(metadataSurveyedFromDates[0].Value); var metadataSurveyedToDates = NinXmlParser.GetChildElements(e0, "kartlagtTilDato", TillatAntall.AkkuratEn); metadata.SurveyedTo = Convert.ToDateTime(metadataSurveyedToDates[0].Value); var metadataSurveyScales = NinXmlParser.GetChildElements(e0, "kartleggingsMaalestokk", TillatAntall.AkkuratEn); metadata.SurveyScale = metadataSurveyScales[0].Value; var metadataResolutions = NinXmlParser.GetChildElements(e0, "opploesning", TillatAntall.MaksimaltEn); if (metadataResolutions.Count == 1) { metadata.Resolution = metadataResolutions[0].Value; } var metadataAreas = NinXmlParser.GetChildElements(e0, "dekningsOmraade", TillatAntall.AkkuratEn); int metadataAreaEspgCode; metadata.Area = NinXmlParser.ParseGeometry(metadataAreas[0], out metadataAreaEspgCode); metadata.AreaEpsgCode = metadataAreaEspgCode; var metadataQualities = NinXmlParser.GetChildElements(e0, "kvalitet", TillatAntall.AkkuratEn); metadata.Quality = ParseQuality(metadataQualities[0]); var metadataDocuments = NinXmlParser.GetChildElements(e0, "dokumenter", TillatAntall.NullEllerFlere); foreach (var metadataDocument in metadataDocuments) { metadata.Documents.Add(NinXmlParser.ParseDocument(metadataDocument)); } var metadataNatureAreas = NinXmlParser.GetChildElements(e0, "naturOmraader", TillatAntall.EnEllerFlere); foreach (var metadataNatureArea in metadataNatureAreas) { metadata.NatureAreas.AddRange(ParseNatureArea(metadataNatureArea)); } var metadataVariableDefinitions = NinXmlParser.GetChildElements(e0, "variabelDefinisjoner", TillatAntall.EnEllerFlere); foreach (var metadataVariableDefinition in metadataVariableDefinitions) { metadata.VariabelDefinitions.Add(ParseVariableDefinition(metadataVariableDefinition)); } return(metadata); }