public static bool IsDuplicateOperation(IEdmOperation operation, IEnumerable <IEdmOperation> candidateDuplicateOperations) { var validator = new DuplicateOperationValidator(null); foreach (var candidateOperation in candidateDuplicateOperations) { validator.ValidateNotDuplicate(candidateOperation, true /*skipError*/); } return(validator.ValidateNotDuplicate(operation, true /*skipError*/)); }
// Take operation name to avoid recomputing it internal static bool OperationOrNameExistsInReferencedModel(this IEdmModel model, IEdmOperation operation, string operationFullName) { foreach (IEdmModel referenced in model.ReferencedModels) { if (referenced.FindDeclaredType(operationFullName) != null || referenced.ExistsContainer(operationFullName) || referenced.FindDeclaredTerm(operationFullName) != null) { return(true); } else { IEnumerable <IEdmOperation> operationList = referenced.FindDeclaredOperations(operationFullName) ?? Enumerable.Empty <IEdmOperation>(); if (DuplicateOperationValidator.IsDuplicateOperation(operation, operationList)) { return(true); } } } return(false); }