Example #1
0
        public InspireDataService UpdateInspireDataService(InspireDataServiceViewModel viewModel)
        {
            var inspireDataService = GetInspireDataServiceById(viewModel.SystemId.ToString());

            inspireDataService.Modified = DateTime.Now;
            inspireDataService.Requests = viewModel.Requests;

            if (inspireDataService.InspireDeliveryMetadata != null)
            {
                inspireDataService.InspireDeliveryMetadata.StatusId   = viewModel.MetadataStatusId;
                inspireDataService.InspireDeliveryMetadata.Note       = viewModel.MetadataNote;
                inspireDataService.InspireDeliveryMetadata.AutoUpdate = viewModel.MetadataAutoUpdate;
            }

            if (inspireDataService.InspireDeliveryMetadataInSearchService != null)
            {
                inspireDataService.InspireDeliveryMetadataInSearchService.StatusId   = viewModel.MetadataInSearchServiceStatusId;
                inspireDataService.InspireDeliveryMetadataInSearchService.Note       = viewModel.MetadataInSearchServiceNote;
                inspireDataService.InspireDeliveryMetadataInSearchService.AutoUpdate = viewModel.MetadataInSearchAutoUpdate;
            }

            if (inspireDataService.InspireDeliveryServiceStatus != null)
            {
                inspireDataService.InspireDeliveryServiceStatus.StatusId   = viewModel.ServiceStatusId;
                inspireDataService.InspireDeliveryServiceStatus.Note       = viewModel.ServiceStatusNote;
                inspireDataService.InspireDeliveryServiceStatus.AutoUpdate = viewModel.MetadataAutoUpdate;
            }

            _dbContext.Entry(inspireDataService).State = EntityState.Modified;
            _dbContext.SaveChanges();

            return(inspireDataService);
        }
 //[Route("inspire-data-service/{registername}/{itemowner}/{itemname}/rediger")]
 public ActionResult Edit(InspireDataServiceViewModel viewModel)
 {
     try
     {
         var updatedInspireDataService = _inspireDatasetService.UpdateInspireDataService(viewModel);
         return(Redirect(updatedInspireDataService.DetailPageUrl()));
     }
     catch
     {
         return(View());
     }
 }
        //[Route("inspire-data-service/{registername}/{itemowner}/{itemname}/rediger")]
        public ActionResult Edit(string registername, string itemname)
        {
            var inspireDataService = _inspireDatasetService.GetInspireDataServiceByName(registername, itemname);

            if (inspireDataService == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (_accessControlService.HasAccessTo(inspireDataService))
            {
                inspireDataService = _inspireDatasetService.UpdateInspireDataServiceFromKartkatalogen(inspireDataService);
                var viewModel = new InspireDataServiceViewModel(inspireDataService);
                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))));
        }
 private void ViewBags(InspireDataServiceViewModel viewModel)
 {
     ViewBag.MetadataStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.MetadataStatusId);
     ViewBag.MetadataInSearchServiceStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.MetadataInSearchServiceStatusId);
     ViewBag.ServiceStatusId = _datasetDeliveryService.GetDokDeliveryStatusesAsSelectlist(viewModel.ServiceStatusId);
 }