コード例 #1
0
        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);
        }
コード例 #2
0
        public OeOperationConfiguration AddFunction(String namespaceName, String name)
        {
            var functionConfiguration = new OeOperationConfiguration(namespaceName, name);

            _operationConfigurations.Add(functionConfiguration);
            return(functionConfiguration);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
 public void AddOperation(OeOperationConfiguration operationConfiguration)
 {
     _operationConfigurations.Add(operationConfiguration);
 }