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);
        }
Exemple #2
0
        private RegisterItemV2ViewModel CreateCodelistValue()
        {
            var codelistValue = new RegisterItemV2ViewModel();

            codelistValue.Register = CreateCodelist();
            codelistValue.Owner    = _organization;
            return(codelistValue);
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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))));
        }
Exemple #6
0
 public bool AccessCreateNewVersion(RegisterItemV2ViewModel registerItemViewModel)
 {
     return(AccessRegister(registerItemViewModel.Register) && IsItemOwner(registerItemViewModel.Owner.name, UserName()) || IsAdmin());
 }