public void DeleteInspireDataset(InspireDataset inspireDataset) { inspireDataset.InspireThemes.Clear(); _dbContext.InspireDatasets.Remove(inspireDataset); _dbContext.SaveChanges(); }
private IRConformity GetIRConformity(InspireDataset inspireDataset) { IRConformity iRConformity = new IRConformity(); iRConformity.structureCompliance = inspireDataset.HarmonizedIsGood(); // Finnes metadata- Skal settes til "true" GML - harmoniserte skal være "God" return(iRConformity); }
private Coverage GetCoverage(InspireDataset inspireDataset) { Coverage coverage = new Coverage(); coverage.actualArea = inspireDataset.Area; coverage.relevantArea = inspireDataset.RelevantArea; return(coverage); }
private MdDataSetExistence GetMdDatasetEcistence(InspireDataset inspireDataset) { MdDataSetExistence mdDataSetExistence = new MdDataSetExistence(); mdDataSetExistence.IRConformity = GetIRConformity(inspireDataset); mdDataSetExistence.MdAccessibility = GetMdAccessibility(inspireDataset); return(mdDataSetExistence); }
private MdAccessibility GetMdAccessibility(InspireDataset inspireDataset) { MdAccessibility mdAccessibility = new MdAccessibility(); mdAccessibility.discovery = true; // Finnes metadata for datasett?- Skal alltid settes til "true" mdAccessibility.view = inspireDataset.WmsIsGoodOrUseable(); // Finnes metadata for tilhørende visningstjeneste?- Skal alltid settes til "true" dersom datasettet er koplet til en wms mdAccessibility.download = inspireDataset.WfsOrAtomIsGoodOrUseable(); mdAccessibility.viewDownload = inspireDataset.WmsAndWfsOrAtomIsGoodOrUseable(); return(mdAccessibility); }
public SpatialDataSet MappingSpatialDataSet(InspireDataset inspireDataset) { var spatialDataset = new SpatialDataSet(); spatialDataset.name = inspireDataset.Name; spatialDataset.respAuthority = inspireDataset.Owner?.name; spatialDataset.uuid = inspireDataset.Uuid; spatialDataset.Themes = GetThemes(inspireDataset.InspireThemes); spatialDataset.Coverage = GetCoverage(inspireDataset); spatialDataset.MdDataSetExistence = GetMdDatasetEcistence(inspireDataset); return(spatialDataset); }
public InspireDataset NewInspireDataset(InspireDatasetViewModel inspireDatasetViewModel, string parentregister, string registername) { var inspireDataset = new InspireDataset(); inspireDataset.SystemId = Guid.NewGuid(); inspireDataset.Name = inspireDatasetViewModel.Name; inspireDataset.Seoname = RegisterUrls.MakeSeoFriendlyString(inspireDataset.Name); inspireDataset.Description = inspireDatasetViewModel.Description; inspireDataset.SubmitterId = _registerService.GetOrganizationIdByUserName(); inspireDataset.OwnerId = inspireDatasetViewModel.OwnerId; inspireDataset.DateSubmitted = DateTime.Now; inspireDataset.Modified = DateTime.Now; inspireDataset.RegisterId = _registerService.GetRegisterId(parentregister, registername); inspireDataset.VersioningId = _registerItemService.NewVersioningGroup(inspireDataset); inspireDataset.VersionNumber = 1; inspireDataset.StatusId = "Submitted"; inspireDataset.Uuid = inspireDatasetViewModel.Uuid; inspireDataset.Notes = inspireDatasetViewModel.Notes; inspireDataset.SpecificUsage = inspireDatasetViewModel.SpecificUsage; inspireDataset.ProductSheetUrl = inspireDatasetViewModel.ProductSheetUrl; inspireDataset.PresentationRulesUrl = inspireDatasetViewModel.PresentationRulesUrl; inspireDataset.ProductSpecificationUrl = inspireDatasetViewModel.ProductSpecificationUrl; inspireDataset.MetadataUrl = inspireDatasetViewModel.MetadataUrl; inspireDataset.DistributionFormat = inspireDatasetViewModel.DistributionFormat; inspireDataset.DistributionUrl = inspireDatasetViewModel.DistributionUrl; inspireDataset.DistributionArea = inspireDatasetViewModel.DistributionArea; inspireDataset.WmsUrl = inspireDatasetViewModel.WmsUrl; inspireDataset.ThemeGroupId = inspireDatasetViewModel.ThemeGroupId; inspireDataset.DatasetThumbnail = inspireDatasetViewModel.DatasetThumbnail; inspireDataset.DokStatusId = "Proposal"; inspireDataset.UuidService = inspireDatasetViewModel.UuidService; GetDeliveryStatuses(inspireDatasetViewModel, inspireDataset); inspireDataset.InspireThemes = inspireDatasetViewModel.InspireThemes; inspireDataset.InspireDeliveryMetadataId = _datasetDeliveryService.CreateDatasetDelivery(inspireDatasetViewModel.MetadataStatusId, inspireDatasetViewModel.MetadataNote); inspireDataset.InspireDeliveryMetadataServiceId = _datasetDeliveryService.CreateDatasetDelivery(inspireDatasetViewModel.MetadataServiceStatusId, inspireDatasetViewModel.MetadataServiceNote); inspireDataset.InspireDeliveryDistributionId = _datasetDeliveryService.CreateDatasetDelivery(inspireDatasetViewModel.DistributionStatusId, inspireDatasetViewModel.DistributionNote); inspireDataset.InspireDeliveryWmsId = _datasetDeliveryService.CreateDatasetDelivery(inspireDatasetViewModel.WmsStatusId, inspireDatasetViewModel.WmsNote); inspireDataset.InspireDeliveryWfsId = _datasetDeliveryService.CreateDatasetDelivery(inspireDatasetViewModel.WfsStatusId, inspireDatasetViewModel.WfsNote); inspireDataset.InspireDeliveryAtomFeedId = _datasetDeliveryService.CreateDatasetDelivery(inspireDatasetViewModel.AtomFeedStatusId, inspireDatasetViewModel.AtomFeedNote); inspireDataset.InspireDeliveryWfsOrAtomId = _datasetDeliveryService.CreateDatasetDelivery(inspireDatasetViewModel.WfsOrAtomStatusId, inspireDatasetViewModel.WfsOrAtomNote); inspireDataset.InspireDeliveryHarmonizedDataId = _datasetDeliveryService.CreateDatasetDelivery(inspireDatasetViewModel.HarmonizedDataStatusId, inspireDatasetViewModel.HarmonizedDataNote); inspireDataset.InspireDeliverySpatialDataServiceId = _datasetDeliveryService.CreateDatasetDelivery(inspireDatasetViewModel.SpatialDataServiceStatusId, inspireDatasetViewModel.SpatialDataServiceNote); _dbContext.InspireDatasets.Add(inspireDataset); _dbContext.SaveChanges(); return(inspireDataset); }
private void NewInspireDatasetFromKartkatalogen(InspireDataset inspireDataset, Synchronize synchronizationJob) { if (!_registerItemService.ItemNameIsValid(inspireDataset)) { synchronizationJob.FailCount++; synchronizationJob.FailLog.Add(new SyncLogEntry(inspireDataset, "Navn finnes fra før")); return; } inspireDataset.SystemId = Guid.NewGuid(); inspireDataset.Seoname = RegisterUrls.MakeSeoFriendlyString(inspireDataset.Name); inspireDataset.SubmitterId = _registerService.GetOrganizationIdByUserName(); inspireDataset.DateSubmitted = DateTime.Now; inspireDataset.Modified = DateTime.Now; inspireDataset.RegisterId = _registerService.GetInspireStatusRegisterId(); inspireDataset.VersioningId = _registerItemService.NewVersioningGroup(inspireDataset); inspireDataset.VersionNumber = 1; inspireDataset.StatusId = "Submitted"; inspireDataset.DokStatusId = "Proposal"; //GetDeliveryStatuses(inspireDatasetViewModel, inspireDataset); var metadataStatus = _datasetDeliveryService.GetMetadataStatus(inspireDataset.Uuid); var metadataServiceStatus = "good"; var distributionStatus = _datasetDeliveryService.GetDeliveryDistributionStatus(inspireDataset.Uuid, inspireDataset.DistributionUrl); var wmsStatus = _datasetDeliveryService.GetInspireWmsStatus(inspireDataset.Uuid, true, "deficient", inspireDataset.UuidService); var wfsStatus = _datasetDeliveryService.GetInspireWfsStatus(inspireDataset.Uuid); var atomFeedStatus = _datasetDeliveryService.GetAtomFeedStatus(inspireDataset.Uuid); var wfsOrAtomStatus = _datasetDeliveryService.GetDownloadRequirementsStatus(wfsStatus, atomFeedStatus); var harmonizedDataStatus = _datasetDeliveryService.GetHarmonizedStatus(inspireDataset.Uuid); var spatialDataServiceStatusId = _datasetDeliveryService.GetSpatialDataStatus(inspireDataset.Uuid); inspireDataset.InspireDeliveryMetadataId = _datasetDeliveryService.CreateDatasetDelivery(metadataStatus); inspireDataset.InspireDeliveryMetadataServiceId = _datasetDeliveryService.CreateDatasetDelivery(metadataServiceStatus); inspireDataset.InspireDeliveryDistributionId = _datasetDeliveryService.CreateDatasetDelivery(distributionStatus); inspireDataset.InspireDeliveryWmsId = _datasetDeliveryService.CreateDatasetDelivery(wmsStatus); inspireDataset.InspireDeliveryWfsId = _datasetDeliveryService.CreateDatasetDelivery(wfsStatus); inspireDataset.InspireDeliveryAtomFeedId = _datasetDeliveryService.CreateDatasetDelivery(atomFeedStatus); inspireDataset.InspireDeliveryWfsOrAtomId = _datasetDeliveryService.CreateDatasetDelivery(wfsOrAtomStatus); inspireDataset.InspireDeliveryHarmonizedDataId = _datasetDeliveryService.CreateDatasetDelivery(harmonizedDataStatus); inspireDataset.InspireDeliverySpatialDataServiceId = _datasetDeliveryService.CreateDatasetDelivery(spatialDataServiceStatusId); synchronizationJob.AddedLog.Add(new SyncLogEntry(inspireDataset, "Lagt til")); _dbContext.InspireDatasets.Add(inspireDataset); _dbContext.SaveChanges(); }
public void Update(InspireDataset inspireDataset) { if (inspireDataset != null) { InspireThemes = inspireDataset.InspireThemes; if (inspireDataset.InspireDeliveryMetadata != null) { MetadataStatusId = inspireDataset.InspireDeliveryMetadata.StatusId; MetadataStatus = inspireDataset.InspireDeliveryMetadata.Status; MetadataNote = inspireDataset.InspireDeliveryMetadata.Note; MetadataAutoUpdate = inspireDataset.InspireDeliveryMetadata.AutoUpdate; } if (inspireDataset.InspireDeliveryMetadataService != null) { MetadataServiceStatusId = inspireDataset.InspireDeliveryMetadataService.StatusId; MetadataServiceStatus = inspireDataset.InspireDeliveryMetadataService.Status; MetadataServiceNote = inspireDataset.InspireDeliveryMetadataService.Note; MetadataServiceAutoUpdate = inspireDataset.InspireDeliveryMetadataService.AutoUpdate; } if (inspireDataset.InspireDeliveryDistribution != null) { DistributionStatusId = inspireDataset.InspireDeliveryDistribution.StatusId; DistributionStatus = inspireDataset.InspireDeliveryDistribution.Status; DistributionNote = inspireDataset.InspireDeliveryDistribution.Note; DistributionAutoUpdate = inspireDataset.InspireDeliveryDistribution.AutoUpdate; } if (inspireDataset.InspireDeliveryWms != null) { WmsStatusId = inspireDataset.InspireDeliveryWms.StatusId; WmsStatus = inspireDataset.InspireDeliveryWms.Status; WmsNote = inspireDataset.InspireDeliveryWms.Note; WmsAutoUpdate = inspireDataset.InspireDeliveryWms.AutoUpdate; } if (inspireDataset.InspireDeliveryWfs != null) { WfsStatusId = inspireDataset.InspireDeliveryWfs.StatusId; WfsStatus = inspireDataset.InspireDeliveryWfs.Status; WfsNote = inspireDataset.InspireDeliveryWfs.Note; WfsAutoUpdate = inspireDataset.InspireDeliveryWfs.AutoUpdate; } if (inspireDataset.InspireDeliveryAtomFeed != null) { AtomFeedStatusId = inspireDataset.InspireDeliveryAtomFeed.StatusId; AtomFeedStatus = inspireDataset.InspireDeliveryAtomFeed.Status; AtomFeedNote = inspireDataset.InspireDeliveryAtomFeed.Note; AtomFeedAutoUpdate = inspireDataset.InspireDeliveryAtomFeed.AutoUpdate; } if (inspireDataset.InspireDeliveryWfsOrAtom != null) { WfsOrAtomStatusId = inspireDataset.InspireDeliveryWfsOrAtom.StatusId; WfsOrAtomStatus = inspireDataset.InspireDeliveryWfsOrAtom.Status; WfsOrAtomNote = inspireDataset.InspireDeliveryWfsOrAtom.Note; WfsOrAtomAutoUpdate = inspireDataset.InspireDeliveryWfsOrAtom.AutoUpdate; } if (inspireDataset.InspireDeliveryHarmonizedData != null) { HarmonizedDataStatusId = inspireDataset.InspireDeliveryHarmonizedData.StatusId; HarmonizedDataStatus = inspireDataset.InspireDeliveryHarmonizedData.Status; HarmonizedDataNote = inspireDataset.InspireDeliveryHarmonizedData.Note; HarmonizedDataAutoUpdate = inspireDataset.InspireDeliveryHarmonizedData.AutoUpdate; } if (inspireDataset.InspireDeliverySpatialDataService != null) { SpatialDataServiceStatusId = inspireDataset.InspireDeliverySpatialDataService.StatusId; SpatialDataServiceStatus = inspireDataset.InspireDeliverySpatialDataService.Status; SpatialDataServiceNote = inspireDataset.InspireDeliverySpatialDataService.Note; SpatialDataServiceAutoUpdate = inspireDataset.InspireDeliverySpatialDataService.AutoUpdate; } Area = inspireDataset.Area; RelevantArea = inspireDataset.RelevantArea; UpdateDataset(inspireDataset); } }
public InspireDatasetViewModel(InspireDataset item) { Update(item); }
public InspireDataset FetchInspireDatasetFromKartkatalogen(string uuid) { var inspireDataset = new InspireDataset(); var url = WebConfigurationManager.AppSettings["KartkatalogenUrl"] + "api/getdata/" + uuid; var c = new System.Net.WebClient { Encoding = System.Text.Encoding.UTF8 }; try { var json = c.DownloadString(url); dynamic data = Newtonsoft.Json.Linq.JObject.Parse(json); if (data != null) { inspireDataset.Name = data.Title; inspireDataset.Description = data.Abstract; inspireDataset.PresentationRulesUrl = data.LegendDescriptionUrl; inspireDataset.ProductSheetUrl = data.ProductSheetUrl; inspireDataset.ProductSpecificationUrl = data.ProductSpecificationUrl; inspireDataset.SpecificUsage = data.SpecificUsage; inspireDataset.Uuid = data.Uuid; inspireDataset.MetadataUrl = WebConfigurationManager.AppSettings["KartkatalogenUrl"] + "metadata/uuid/" + inspireDataset.Uuid; var thumbnails = data.Thumbnails; if (thumbnails != null && thumbnails.Count > 0) { inspireDataset.DatasetThumbnail = thumbnails[0].URL.Value; } inspireDataset.OwnerId = mapOrganizationNameToId( data.ContactOwner != null && data.ContactOwner.Organization != null ? data.ContactOwner.Organization.Value : "Kartverket"); inspireDataset.ThemeGroupId = AddTheme(data.KeywordsNationalTheme != null && data.KeywordsNationalTheme.Count > 0 ? data.KeywordsNationalTheme[0].KeywordValue.Value : "Annen"); inspireDataset.InspireThemes = GetInspireThemes(data.KeywordsInspire); if (data.ServiceUuid != null) { inspireDataset.UuidService = data.ServiceUuid; } if (data.ServiceDistributionUrlForDataset != null) { inspireDataset.WmsUrl = data.ServiceDistributionUrlForDataset; } if (data.DistributionDetails != null) { inspireDataset.DistributionUrl = data.DistributionDetails.URL; } if (data.UnitsOfDistribution != null) { inspireDataset.DistributionArea = data.UnitsOfDistribution.Value; } var distributionFormat = data.DistributionFormat; if (distributionFormat != null) { if (distributionFormat.Name != null) { inspireDataset.DistributionFormat = distributionFormat.Name.Value; } } } } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e); System.Diagnostics.Debug.WriteLine(url); return(null); } return(inspireDataset); }
public InspireDataset UpdateInspireDatasetFromKartkatalogen(InspireDataset originalDataset) { var inspireDatasetFromKartkatalogen = _metadataService.FetchInspireDatasetFromKartkatalogen(originalDataset.Uuid); return(inspireDatasetFromKartkatalogen == null ? originalDataset : UpdateInspireDataset(originalDataset, inspireDatasetFromKartkatalogen)); }
public InspireDataset UpdateInspireDataset(InspireDataset originalDataset, InspireDataset inspireDatasetFromKartkatalogen, Synchronize synchronizationJob = null) { originalDataset.Name = inspireDatasetFromKartkatalogen.Name; originalDataset.Seoname = RegisterUrls.MakeSeoFriendlyString(originalDataset.Name); originalDataset.Description = inspireDatasetFromKartkatalogen.Description; originalDataset.OwnerId = inspireDatasetFromKartkatalogen.OwnerId; originalDataset.Modified = DateTime.Now; originalDataset.Uuid = inspireDatasetFromKartkatalogen.Uuid; originalDataset.SpecificUsage = inspireDatasetFromKartkatalogen.SpecificUsage; originalDataset.ProductSheetUrl = inspireDatasetFromKartkatalogen.ProductSheetUrl; originalDataset.PresentationRulesUrl = inspireDatasetFromKartkatalogen.PresentationRulesUrl; originalDataset.ProductSpecificationUrl = inspireDatasetFromKartkatalogen.ProductSpecificationUrl; originalDataset.MetadataUrl = inspireDatasetFromKartkatalogen.MetadataUrl; originalDataset.DistributionFormat = inspireDatasetFromKartkatalogen.DistributionFormat; originalDataset.DistributionUrl = inspireDatasetFromKartkatalogen.DistributionUrl; originalDataset.DistributionArea = inspireDatasetFromKartkatalogen.DistributionArea; originalDataset.WmsUrl = inspireDatasetFromKartkatalogen.WmsUrl; originalDataset.ThemeGroupId = inspireDatasetFromKartkatalogen.ThemeGroupId; originalDataset.DatasetThumbnail = inspireDatasetFromKartkatalogen.DatasetThumbnail; originalDataset.UuidService = inspireDatasetFromKartkatalogen.UuidService; originalDataset.UpdateInspireTheme(inspireDatasetFromKartkatalogen.InspireThemes); DatasetDeliveryService d = new DatasetDeliveryService(synchronizationJob); if (originalDataset.InspireDeliveryMetadata != null) { originalDataset.InspireDeliveryMetadata.StatusId = d.GetMetadataStatus(inspireDatasetFromKartkatalogen.Uuid, originalDataset.InspireDeliveryMetadata.AutoUpdate, originalDataset.InspireDeliveryMetadata.StatusId); } originalDataset.InspireDeliveryMetadataService.StatusId = "good"; if (originalDataset.InspireDeliveryDistribution != null) { originalDataset.InspireDeliveryDistribution.StatusId = d.GetDeliveryDistributionStatus(inspireDatasetFromKartkatalogen.Uuid, inspireDatasetFromKartkatalogen.DistributionUrl, originalDataset.InspireDeliveryDistribution.AutoUpdate, originalDataset.InspireDeliveryDistribution.StatusId); } if (originalDataset.InspireDeliveryWms != null) { originalDataset.InspireDeliveryWms.StatusId = d.GetInspireWmsStatus( inspireDatasetFromKartkatalogen.Uuid, originalDataset.InspireDeliveryWms.AutoUpdate, originalDataset.InspireDeliveryWms.StatusId, originalDataset.UuidService); } if (originalDataset.InspireDeliveryWfs != null) { originalDataset.InspireDeliveryWfs.StatusId = d.GetInspireWfsStatus(inspireDatasetFromKartkatalogen.Uuid, originalDataset.InspireDeliveryWfs.AutoUpdate, originalDataset.InspireDeliveryWfs.StatusId); } if (originalDataset.InspireDeliveryAtomFeed != null) { originalDataset.InspireDeliveryAtomFeed.StatusId = d.GetAtomFeedStatus(inspireDatasetFromKartkatalogen.Uuid, originalDataset.InspireDeliveryAtomFeed.AutoUpdate, originalDataset.InspireDeliveryAtomFeed.StatusId); } if (originalDataset.InspireDeliveryWfsOrAtom != null) { if (originalDataset.InspireDeliveryWfs != null && originalDataset.InspireDeliveryAtomFeed != null) { originalDataset.InspireDeliveryWfsOrAtom.StatusId = d.GetDownloadRequirementsStatus(originalDataset.InspireDeliveryWfs.StatusId, originalDataset.InspireDeliveryAtomFeed.StatusId); } else { originalDataset.InspireDeliveryWfsOrAtom.StatusId = "notset"; } } if (originalDataset.InspireDeliveryHarmonizedData != null) { originalDataset.InspireDeliveryHarmonizedData.StatusId = d.GetHarmonizedStatus(inspireDatasetFromKartkatalogen.Uuid, originalDataset.InspireDeliveryHarmonizedData.AutoUpdate, originalDataset.InspireDeliveryHarmonizedData.StatusId); } if (originalDataset.InspireDeliverySpatialDataService != null) { originalDataset.InspireDeliverySpatialDataService.StatusId = d.GetSpatialDataStatus(inspireDatasetFromKartkatalogen.Uuid, originalDataset.InspireDeliverySpatialDataService.AutoUpdate, originalDataset.InspireDeliverySpatialDataService.StatusId); } _dbContext.Entry(originalDataset).State = EntityState.Modified; _dbContext.SaveChanges(); return(originalDataset); }
private void GetDeliveryStatuses(InspireDatasetViewModel inspireDatasetViewModel, InspireDataset inspireDataset) { inspireDatasetViewModel.MetadataStatusId = _datasetDeliveryService.GetMetadataStatus(inspireDataset.Uuid, true, inspireDatasetViewModel.MetadataStatusId); inspireDatasetViewModel.MetadataServiceStatusId = "good"; // skal alltid være ok.... inspireDatasetViewModel.InspireDeliveryMetadataStatus; inspireDatasetViewModel.DistributionStatusId = _datasetDeliveryService.GetDeliveryDistributionStatus(inspireDataset.Uuid, inspireDataset.DistributionUrl, true, inspireDatasetViewModel.DistributionStatusId); inspireDatasetViewModel.WmsStatusId = _datasetDeliveryService.GetDokDeliveryServiceStatus(inspireDataset.Uuid, true, inspireDatasetViewModel.WmsStatusId, inspireDataset.UuidService); inspireDatasetViewModel.WfsStatusId = _datasetDeliveryService.GetWfsStatus(inspireDataset.Uuid, true, inspireDatasetViewModel.WfsStatusId); inspireDatasetViewModel.AtomFeedStatusId = _datasetDeliveryService.GetAtomFeedStatus(inspireDataset.Uuid, true, inspireDatasetViewModel.AtomFeedStatusId); inspireDatasetViewModel.WfsOrAtomStatusId = _datasetDeliveryService.GetDownloadRequirementsStatus(inspireDatasetViewModel.WfsStatusId, inspireDatasetViewModel.AtomFeedStatusId); inspireDatasetViewModel.HarmonizedDataStatusId = _datasetDeliveryService.GetHarmonizedStatus(inspireDataset.Uuid, true, inspireDatasetViewModel.HarmonizedDataStatusId); inspireDatasetViewModel.SpatialDataServiceStatusId = _datasetDeliveryService.GetSpatialDataStatus(inspireDataset.Uuid, true, inspireDatasetViewModel.SpatialDataServiceStatusId); }