//[Route("inspire/{registername}/ny")] //[Route("inspire/{parentregister}/{registerowner}/{registername}/ny")] public ActionResult Create(InspireDatasetViewModel viewModel, string parentregister, string registername, string metadataUuid) { viewModel.Register = _registerService.GetRegisterBySystemId(viewModel.RegisterId); if (!_accessControlService.HasAccessTo(viewModel.Register)) { throw new HttpException(401, "Access Denied"); } if (viewModel.SearchString != null) { viewModel.SearchResultList = _metadataService.SearchMetadataFromKartkatalogen(viewModel.SearchString); return(View(viewModel)); } if (metadataUuid != null) { viewModel.Update(_metadataService.FetchInspireDatasetFromKartkatalogen(metadataUuid)); if (viewModel.Name == null) { ModelState.AddModelError("ErrorMessage", "Det har oppstått en feil ved henting av metadata..."); } } if (!_registerItemService.ItemNameIsValid(viewModel)) { ModelState.AddModelError("ErrorMessage", HtmlHelperExtensions.ErrorMessageValidationDataset()); return(View(viewModel)); } if (!ModelState.IsValid) { return(View(viewModel)); } var inspireDataset = _inspireDatasetService.NewInspireDataset(viewModel, parentregister, registername); return(Redirect(inspireDataset.Register.GetObjectUrl())); }
public InspireDatasetViewModel NewInspireDatasetViewModel(string parentRegister, string register) { var model = new InspireDatasetViewModel { RegisterId = _registerService.GetRegisterId(parentRegister, register) }; return(model); }
//[Route("inspire/{parentRegister}/{registerowner}/{registername}/{itemowner}/{itemname}/rediger")] //[Route("inspire/{registername}/{itemowner}/{itemname}/rediger")] public ActionResult Edit(InspireDatasetViewModel viewModel, List <System.Guid> inspireThemesId) { if (ModelState.IsValid) { var inspireDataset = _inspireDatasetService.UpdateInspireDataset(viewModel); return(Redirect(inspireDataset.DetailPageUrl())); } ViewBags(viewModel); return(View(viewModel)); }
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); }
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 ViewBags(InspireDatasetViewModel viewModel) { ViewBag.DokStatusId = _registerItemService.GetDokStatusSelectList(viewModel.DokStatusId); ViewBag.SubmitterId = _registerItemService.GetSubmitterSelectList(viewModel.SubmitterId); ViewBag.OwnerId = _registerItemService.GetOwnerSelectList(viewModel.OwnerId); ViewBag.MetadataStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.MetadataStatusId); ViewBag.MetadataServiceStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.MetadataServiceStatusId); ViewBag.DistributionStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.DistributionStatusId); ViewBag.WmsStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.WmsStatusId); ViewBag.WfsStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.WfsStatusId); ViewBag.AtomFeedStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.AtomFeedStatusId); ViewBag.WfsOrAtomStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.WfsOrAtomStatusId); ViewBag.HarmonizedDataStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.HarmonizedDataStatusId); ViewBag.SpatialDataServiceStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.SpatialDataServiceStatusId); }
//[Route("inspire/{parentRegister}/{registerowner}/{registername}/{itemowner}/{itemname}/rediger")] //[Route("inspire/{registername}/{itemowner}/{itemname}/rediger")] public ActionResult Edit(string registername, string itemname) { var inspireDataset = _inspireDatasetService.GetInspireDatasetByName(registername, itemname); if (inspireDataset == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (_accessControlService.HasAccessTo(inspireDataset)) { inspireDataset = _inspireDatasetService.UpdateInspireDatasetFromKartkatalogen(inspireDataset); var viewModel = new InspireDatasetViewModel(inspireDataset); ViewBags(viewModel); return(View(viewModel)); } throw new HttpException(401, "Access Denied"); }
private RegisterItemV2ViewModel GetRegisterItemById(string parentregister, string registername, string systemId, string inspireRegistryType) { var register = _registerService.GetRegister(parentregister, registername); if (register.IsInspireStatusRegister()) { RegisterItemV2ViewModel viewModel = null; if (string.IsNullOrWhiteSpace(inspireRegistryType) || inspireRegistryType == "dataset") { var inspireDataset = _inspireDatasetService.GetInspireDatasetById(systemId); if (inspireDataset != null) { viewModel = new InspireDatasetViewModel(inspireDataset); } else { viewModel = new InspireDataServiceViewModel(_inspireDatasetService.GetInspireDataServiceById(systemId)); } } else { viewModel = new InspireDataServiceViewModel(_inspireDatasetService.GetInspireDataServiceById(systemId)); } return(viewModel); } if (register.IsGeodatalovStatusRegister()) { return(new GeodatalovDatasetViewModel(_geodatalovDatasetService.GetGeodatalovDatasetById(systemId))); } if (register.IsDokMunicipal()) { return(new RegisterItemV2ViewModel(_registerItemService.GetRegisterItemBySystemId(Guid.Parse(systemId)))); } if (register.ContainedItemClassIsDataset()) { return(new DokDatasetViewModel(_registerItemService.GetDatasetById(Guid.Parse(systemId), register.systemId))); } if (register.ContainedItemClassIsDocument()) { return(new DocumentViewModel((Document)_registerItemService.GetRegisterItemBySystemId(Guid.Parse(systemId)))); } return(new RegisterItemV2ViewModel(_registerItemService.GetRegisterItemBySystemId(Guid.Parse(systemId)))); }
public InspireDataset UpdateInspireDataset(InspireDatasetViewModel viewModel) { var inspireDataset = GetInspireDatasetBySystemId(viewModel.SystemId); inspireDataset.Name = viewModel.Name; inspireDataset.Seoname = RegisterUrls.MakeSeoFriendlyString(inspireDataset.Name); inspireDataset.Description = viewModel.Description; inspireDataset.SubmitterId = viewModel.SubmitterId; inspireDataset.OwnerId = viewModel.OwnerId; inspireDataset.Modified = DateTime.Now; inspireDataset.DateSubmitted = DateTime.Now; inspireDataset.RegisterId = viewModel.RegisterId; inspireDataset.Uuid = viewModel.Uuid; inspireDataset.Notes = viewModel.Notes; inspireDataset.SpecificUsage = viewModel.SpecificUsage; inspireDataset.ProductSheetUrl = viewModel.ProductSheetUrl; inspireDataset.PresentationRulesUrl = viewModel.PresentationRulesUrl; inspireDataset.ProductSpecificationUrl = viewModel.ProductSpecificationUrl; inspireDataset.MetadataUrl = viewModel.MetadataUrl; inspireDataset.DistributionFormat = viewModel.DistributionFormat; inspireDataset.DistributionUrl = viewModel.DistributionUrl; inspireDataset.DistributionArea = viewModel.DistributionArea; inspireDataset.WmsUrl = viewModel.WmsUrl; inspireDataset.ThemeGroupId = viewModel.ThemeGroupId; inspireDataset.DatasetThumbnail = viewModel.DatasetThumbnail; inspireDataset.DokStatusId = viewModel.DokStatusId; inspireDataset.DokStatusDateAccepted = viewModel.GetDateAccepted(); inspireDataset.UuidService = viewModel.UuidService; inspireDataset.Area = viewModel.Area; inspireDataset.RelevantArea = viewModel.RelevantArea; if (inspireDataset.InspireDeliveryMetadata != null) { inspireDataset.InspireDeliveryMetadata.StatusId = viewModel.MetadataStatusId; inspireDataset.InspireDeliveryMetadata.Note = viewModel.MetadataNote; inspireDataset.InspireDeliveryMetadata.AutoUpdate = viewModel.MetadataAutoUpdate; } if (inspireDataset.InspireDeliveryMetadataService != null) { inspireDataset.InspireDeliveryMetadataService.StatusId = viewModel.MetadataServiceStatusId; inspireDataset.InspireDeliveryMetadataService.Note = viewModel.MetadataServiceNote; inspireDataset.InspireDeliveryMetadataService.AutoUpdate = viewModel.MetadataServiceAutoUpdate; } if (inspireDataset.InspireDeliveryDistribution != null) { inspireDataset.InspireDeliveryDistribution.StatusId = viewModel.DistributionStatusId; inspireDataset.InspireDeliveryDistribution.Note = viewModel.DistributionNote; inspireDataset.InspireDeliveryDistribution.AutoUpdate = viewModel.DistributionAutoUpdate; } if (inspireDataset.InspireDeliveryWms != null) { inspireDataset.InspireDeliveryWms.StatusId = viewModel.WmsStatusId; inspireDataset.InspireDeliveryWms.Note = viewModel.WmsNote; inspireDataset.InspireDeliveryWms.AutoUpdate = viewModel.WmsAutoUpdate; } if (inspireDataset.InspireDeliveryWfs != null) { inspireDataset.InspireDeliveryWfs.StatusId = viewModel.WfsStatusId; inspireDataset.InspireDeliveryWfs.Note = viewModel.WfsNote; inspireDataset.InspireDeliveryWfs.AutoUpdate = viewModel.WfsAutoUpdate; } if (inspireDataset.InspireDeliveryAtomFeed != null) { inspireDataset.InspireDeliveryAtomFeed.StatusId = viewModel.AtomFeedStatusId; inspireDataset.InspireDeliveryAtomFeed.Note = viewModel.AtomFeedNote; inspireDataset.InspireDeliveryAtomFeed.AutoUpdate = viewModel.AtomFeedAutoUpdate; } if (inspireDataset.InspireDeliveryWfsOrAtom != null) { inspireDataset.InspireDeliveryWfsOrAtom.StatusId = viewModel.WfsOrAtomStatusId; inspireDataset.InspireDeliveryWfsOrAtom.Note = viewModel.WfsOrAtomNote; inspireDataset.InspireDeliveryWfsOrAtom.AutoUpdate = viewModel.WfsOrAtomAutoUpdate; } if (inspireDataset.InspireDeliveryHarmonizedData != null) { inspireDataset.InspireDeliveryHarmonizedData.StatusId = viewModel.HarmonizedDataStatusId; inspireDataset.InspireDeliveryHarmonizedData.Note = viewModel.HarmonizedDataNote; inspireDataset.InspireDeliveryHarmonizedData.AutoUpdate = viewModel.HarmonizedDataAutoUpdate; } if (inspireDataset.InspireDeliverySpatialDataService != null) { inspireDataset.InspireDeliverySpatialDataService.StatusId = viewModel.SpatialDataServiceStatusId; inspireDataset.InspireDeliverySpatialDataService.Note = viewModel.SpatialDataServiceNote; inspireDataset.InspireDeliverySpatialDataService.AutoUpdate = viewModel.SpatialDataServiceAutoUpdate; } _dbContext.Entry(inspireDataset).State = EntityState.Modified; _dbContext.SaveChanges(); return(inspireDataset); }