private EdmFunction BuildFunction(OeOperationConfiguration operationConfiguration, Dictionary <Type, EntityTypeInfo> entityTypeInfos) { IEdmTypeReference edmTypeReference; Type itemType = Parsers.OeExpressionHelper.GetCollectionItemTypeOrNull(operationConfiguration.ReturnType); if (itemType == null) { edmTypeReference = GetEdmTypeReference(operationConfiguration.ReturnType, entityTypeInfos); } else { edmTypeReference = new EdmCollectionTypeReference(new EdmCollectionType(GetEdmTypeReference(itemType, entityTypeInfos))); } var edmFunction = new EdmFunction(operationConfiguration.NamespaceName, operationConfiguration.Name, edmTypeReference, operationConfiguration.IsBound, null, false); foreach (OeOperationParameterConfiguration parameterConfiguration in operationConfiguration.Parameters) { edmTypeReference = GetEdmTypeReference(parameterConfiguration.ClrType, entityTypeInfos); edmFunction.AddParameter(parameterConfiguration.Name, edmTypeReference); } return(edmFunction); }
public OeOperationConfiguration AddFunction(String namespaceName, String name) { var functionConfiguration = new OeOperationConfiguration(namespaceName, name); _operationConfigurations.Add(functionConfiguration); return(functionConfiguration); }
private EdmAction BuildAction(OeOperationConfiguration operationConfiguration, Dictionary <Type, EntityTypeInfo> entityTypeInfos) { var edmAction = new EdmAction(operationConfiguration.NamespaceName, operationConfiguration.Name, null); foreach (OeOperationParameterConfiguration parameterConfiguration in operationConfiguration.Parameters) { IEdmTypeReference edmTypeReference = GetEdmTypeReference(parameterConfiguration.ClrType, entityTypeInfos); edmAction.AddParameter(parameterConfiguration.Name, edmTypeReference); } return(edmAction); }
private EdmAction BuildAction(OeOperationConfiguration operationConfiguration) { var edmAction = new EdmAction(operationConfiguration.NamespaceName ?? "", operationConfiguration.Name, null); foreach (OeFunctionParameterConfiguration parameterConfiguration in operationConfiguration.Parameters) { IEdmTypeReference edmTypeReference = GetEdmTypeReference(parameterConfiguration.ClrType); if (edmTypeReference == null) { return(null); } edmAction.AddParameter(parameterConfiguration.Name, edmTypeReference); } return(edmAction); }
private EdmFunction BuildFunction(OeOperationConfiguration functionConfiguration) { IEdmTypeReference edmTypeReference; Type itemType = Parsers.OeExpressionHelper.GetCollectionItemType(functionConfiguration.ReturnType); if (itemType == null) { edmTypeReference = GetEdmTypeReference(functionConfiguration.ReturnType); if (edmTypeReference == null) { return(null); } } else { edmTypeReference = GetEdmTypeReference(itemType); if (edmTypeReference == null) { return(null); } edmTypeReference = new EdmCollectionTypeReference(new EdmCollectionType(edmTypeReference)); } var edmFunction = new EdmFunction(functionConfiguration.NamespaceName ?? "", functionConfiguration.Name, edmTypeReference); foreach (OeFunctionParameterConfiguration parameterConfiguration in functionConfiguration.Parameters) { edmTypeReference = GetEdmTypeReference(parameterConfiguration.ClrType); if (edmTypeReference == null) { return(null); } edmFunction.AddParameter(parameterConfiguration.Name, edmTypeReference); } return(edmFunction); }
public void AddOperation(OeOperationConfiguration operationConfiguration) { _operationConfigurations.Add(operationConfiguration); }