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*/); }
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); }
private static ValidationContext ExecuteDuplicateOperationValidator(IEdmModel model) { ValidationContext context = new ValidationContext(model, (object o) => false); DuplicateOperationValidator validator = new DuplicateOperationValidator(context); foreach (var operation in model.SchemaElements.OfType<IEdmOperation>()) { validator.ValidateNotDuplicate(operation, false /*skipError*/); } return context; }