private async Task <ApplicationModel> RemoveApplicationDataPoliciesCurrentlyAssignedToApplicationThatAreNoLongerInSecurityContract(ApplicationModel application, SecurityContractApplication applicationSecurityContractDefinition)
        {
            if (application.ApplicationDataPolicies != null && application.ApplicationDataPolicies.Any())
            {
                for (int i = application.ApplicationDataPolicies.Count - 1; i >= 0; i--)
                {
                    if (applicationSecurityContractDefinition.DataPolicies == null || !applicationSecurityContractDefinition.DataPolicies.Exists(dp => dp.Name == application.ApplicationDataPolicies[i].Name))
                    {
                        logger.Debug($"[applications.fullname: '{application.Name}'].[dataPolicies.name]: Data Policy: '{application.ApplicationDataPolicies[i].Name}' was historically assigned to application '{application.Name}', but no longer is within thse security contract being processed. Removing dataPolicy '{application.ApplicationDataPolicies[i].Name}' from application '{application.Name}'!");
                        await applicationDataPolicyRepository.DeleteAsync(application.ApplicationDataPolicies[i]);
                    }
                }
            }

            return(application);
        }
Пример #2
0
        private async Task <ApplicationModel> RemoveApplicationDataPoliciesCurrentlyAssignedToApplicationThatAreNoLongerInSecurityContract(ApplicationModel application, SecurityContractApplication applicationSecurityContractDefinition)
        {
            if (application.ApplicationDataPolicies != null && application.ApplicationDataPolicies.Any())
            {
                for (int i = application.ApplicationDataPolicies.Count - 1; i >= 0; i--)
                {
                    logger.Debug($"Checking whether application data policy: '{application.ApplicationDataPolicies[i].Name}' should unassigned from application '{application.Name}'.");
                    if (applicationSecurityContractDefinition.DataPolicies == null || !applicationSecurityContractDefinition.DataPolicies.Exists(dp => dp.Name == application.ApplicationDataPolicies[i].Name))
                    {
                        logger.Debug($"Data Policy: '{application.ApplicationDataPolicies[i].Name}' is being unassigned from application '{application.Name}'!");
                        await applicationDataPolicyRepository.DeleteAsync(application.ApplicationDataPolicies[i]);
                    }
                }
            }

            return(application);
        }