private bool AccessRegisterItem(RegisterItemV2ViewModel registerItemViewModel) { if (registerItemViewModel.Register == null) { return(false); } if (!registerItemViewModel.Register.IsAlertRegister()) { if (IsAdmin()) { return(true); } if (IsEditor()) { //if (HasAccessToRegister(registerItemViewModel.Register)) //{ if (registerItemViewModel is DocumentViewModel docuementViewModel) { return(IsItemOwner(registerItemViewModel.Owner.name, UserName()) && VersionIsEditable(docuementViewModel.StatusId)); } return(IsItemOwner(registerItemViewModel.Owner.name, UserName()) || IsRegisterOwner(registerItemViewModel.Register.owner.name, UserName())); //} } } return(false); }
private RegisterItemV2ViewModel CreateCodelistValue() { var codelistValue = new RegisterItemV2ViewModel(); codelistValue.Register = CreateCodelist(); codelistValue.Owner = _organization; return(codelistValue); }
public AccessControlServiceTest() { var dbContextMock = CreateTestDbContext(OrganizationList()); _accessControlService = new AccessControlService(dbContextMock); Thread.CurrentPrincipal = null; _register = new Models.Register(); _organization = CreateOrganization(); _document = CreateDocument(); _dataset = CreateDataset(); _municipality = CreateMunicipality(); _codelistValue = CreateCodelistValue(); }
private bool AccessRegisterItem(RegisterItemV2ViewModel registerItemViewModel) { if (!registerItemViewModel.Register.IsAlertRegister()) { if (AccessRegister(registerItemViewModel.Register)) { if (registerItemViewModel is DocumentViewModel docuementViewModel) { return(IsItemOwner(registerItemViewModel.Owner.name, UserName()) && VersionIsEditable(docuementViewModel.StatusId)); } return(IsItemOwner(registerItemViewModel.Owner.name, UserName()) || IsRegisterOwner(registerItemViewModel.Register.owner.name, UserName())); } } return(false); }
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 bool AccessCreateNewVersion(RegisterItemV2ViewModel registerItemViewModel) { return(AccessRegister(registerItemViewModel.Register) && IsItemOwner(registerItemViewModel.Owner.name, UserName()) || IsAdmin()); }