public static void PubliserLeveranse(string id, NinRavenDb arkiv, IUserDatabase userDb) { Log.i("DDL", "Publiser dataleveranse #" + id); var dataDelivery = arkiv.HentDataleveranse(id); switch (dataDelivery.Publisering) { case Status.Gjeldende: throw new Exception("Leveransen er allerede gjeldende."); case Status.Utgått: throw new Exception("Leveransen er utgått og kan ikke publiseres."); } var dataDeliveryMsSql = new Dataleveranse(dataDelivery); MapProjection.ConvertGeometry(dataDeliveryMsSql); var userInstitution = userDb.GetUserInstitution(dataDelivery.Username); foreach (var natureArea in dataDeliveryMsSql.Metadata.NatureAreas) { natureArea.Institution = userInstitution; } SqlServer.DeleteDataDelivery(dataDeliveryMsSql.Metadata.UniqueId.LocalId); SqlServer.LagreDataleveranse(dataDeliveryMsSql); MarkerSistGjeldendeLeveranseSomUtgått(arkiv, dataDelivery); dataDelivery.Publisering = Status.Gjeldende; arkiv.LagreDataleveranse(dataDelivery); arkiv.SaveChanges(); }
public override void Execute() { Types.RavenDb.Dataleveranse dataleveranse; using (var streamReader = File.OpenText(dataFile)) { var fileContent = streamReader.ReadToEnd(); XDocument dataDeliveryXml = XDocument.Parse(fileContent); dataleveranse = DataleveranseXmlGreier.ParseDataDelivery(dataDeliveryXml); } //DataleveranseXmlGreier.ValidateDataDeliveryContent(dataDelivery); var dataDeliveryMsSql = new Dataleveranse(dataleveranse); MapProjection.ConvertGeometry(dataDeliveryMsSql); foreach (var natureArea in dataDeliveryMsSql.Metadata.NatureAreas) { natureArea.Institution = "Institution"; } dataDeliveryMsSql.Id = "1"; dataDeliveryMsSql.Created = DateTime.Now; SqlServer.DeleteDataDelivery(dataDeliveryMsSql.Metadata.UniqueId.LocalId); SqlServer.LagreDataleveranse(dataDeliveryMsSql); }
public static GridLayer FromXml(XDocument gridXml) { var gridLayer = (GridLayer)ParseXml(gridXml); if (gridXml.Root.Name.LocalName.Equals("OmraadeKart")) { foreach (var gridLayerCell in gridLayer.Cells) { MapProjection.ConvertGeometry((GridLayerCellCustom)gridLayerCell); } } return(gridLayer); }
public IActionResult GetExpiredMetadatasByNatureAreaLocalId(string localId) { var metadatas = SqlServer.GetMetadatasByNatureAreaLocalIds(new List <string> { localId }, false); var dataDeliveriesWithNatureArea = new List <Dataleveranse>(); if (metadatas.Count == 1) { var dataDeliveries = ninRavenDb.HentDataleveranserGjeldendeOgUtgåtte(metadatas[0].UniqueId.LocalId); foreach (var dataDelivery in dataDeliveries) { foreach (var natureArea in dataDelivery.Metadata.NatureAreas) { if (!natureArea.UniqueId.LocalId.Equals(new Guid(localId))) { continue; } dataDelivery.Metadata.NatureAreas.Clear(); var natureAreaExport = new Nin.Types.RavenDb.NatureAreaExport(natureArea); AddCodeHierarchyInfo(natureAreaExport.Parameters); dataDelivery.Metadata.NatureAreas.Add(natureAreaExport); MapProjection.ConvertGeometry(dataDelivery, metadatas[0].GetAreaEpsgCode()); natureAreaExport.Areas = SqlServer.GetAreaLinkInfos(natureAreaExport.Area, natureAreaExport.AreaEpsgCode); dataDeliveriesWithNatureArea.Add(dataDelivery); break; } } } var metadatasJson = JsonConvert.SerializeObject(dataDeliveriesWithNatureArea, jsonSerializerSettings); var contentResult = new NinJsonResult(metadatasJson); return(contentResult); }