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); }
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); }