//[Route("dataset/{parentRegister}/{registerowner}/{registername}/{municipality}/ny")] //[Route("dataset/{registername}/{municipality}/ny")] public ActionResult CreateMunicipalDataset(string municipality) { if (municipality != null) { CreateDokMunicipalViewModel model = new CreateDokMunicipalViewModel(); model.Register = _registerService.GetDokMunicipalRegister(); model.MunicipalityCode = municipality; model.DatasetOwner = _registerItemService.GetMunicipalityOrganizationByNr(municipality); if (_accessControlService.AccessEditOrCreateDOKMunicipalBySelectedMunicipality(model.MunicipalityCode)) { return(View(model)); } else { throw new HttpException(401, "Access Denied"); } } return(HttpNotFound("Finner ikke kommunenr.")); }
//[Route("dataset/{parentRegister}/{registerowner}/{registername}/{municipality}/ny")] //[Route("dataset/{registername}/{municipality}/ny")] public ActionResult CreateMunicipalDataset(CreateDokMunicipalViewModel model, string searchString, bool save = false) { model.Register = _registerService.GetDokMunicipalRegister(); if (_accessControlService.AccessEditOrCreateDOKMunicipalBySelectedMunicipality(model.MunicipalityCode)) { ViewBag.SearchString = searchString; model.DatasetOwner = _registerItemService.GetMunicipalityOrganizationByNr(model.MunicipalityCode); if (model.SelectedList != null) { List <MetadataItemViewModel> items = new List <MetadataItemViewModel>(); foreach (var metaItem in model.SelectedList) { items.Add(metaItem); } foreach (var item in items) { if (!item.Selected) { model.SelectedList.Remove(item); } } } if (model.SearchResult != null) { foreach (var item in model.SearchResult) { if (item.Selected) { if (model.SelectedList == null) { model.SelectedList = new List <MetadataItemViewModel>(); } if (model.SelectedList.All(metaItem => metaItem.Uuid != item.Uuid)) { model.SelectedList.Add(item); } } } model.SearchResult = null; } if (!string.IsNullOrEmpty(searchString) && !save) { SearchResultsType result = SearchMetadataFromKartkatalogen(searchString); model.SearchResult = ParseSearchResult(result); return(View(model)); } if (save) { foreach (var item in model.SelectedList) { Dataset dataset = new Dataset(); dataset = GetMetadataFromKartkatalogen(dataset, item.Uuid); dataset.register = model.Register; dataset.datasetowner = model.DatasetOwner; dataset.datasetownerId = model.DatasetOwner.systemId; dataset = _datasetService.UpdateDataset(dataset); _registerItemService.SaveNewRegisterItem(dataset); } return(Redirect(model.Register.GetObjectUrl() + "?municipality=" + model.MunicipalityCode)); } return(View(model)); } else { throw new HttpException(401, "Access Denied"); } }