Exemple #1
0
 private IEnumerable <OperationDefinition> GetOperationDefinitions(string targetNamespace)
 {
     return(contractAssembly.GetServiceContracts()
            .SelectMany(x => x.Value
                        .Where(op => !version.HasValue || op.ExistsInVersion(version.Value))
                        .Select(op => schemaDefinitionProvider.GetOperationDefinition(x.Key, XName.Get(op.Name, targetNamespace), version)))
            .Where(def => def.State == DefinitionState.Default)
            .OrderBy(def => def.Name.LocalName.ToLower())
            .ToList());
 }
Exemple #2
0
 private OperationDefinition GetOperationDefinition(Assembly typeAssembly, XName qualifiedName)
 {
     return(typeAssembly?.GetTypes()
            .Where(t => t.GetTypeInfo().IsInterface)
            .SelectMany(t => t.GetTypeInfo().GetMethods())
            .Where(x => x.GetServices()
                   .Any(m => m.Name == qualifiedName.LocalName &&
                        (!Version.HasValue || m.ExistsInVersion(Version.Value))))
            .Select(mi => schemaDefinitionProvider.GetOperationDefinition(mi, qualifiedName, Version))
            .SingleOrDefault(d => d.State != DefinitionState.Ignored));
 }