Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/aspnetwebstack.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/System.Web.Http.OData/OData/ODataActionParameters.cs')
-rw-r--r--src/System.Web.Http.OData/OData/ODataActionParameters.cs38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/System.Web.Http.OData/OData/ODataActionParameters.cs b/src/System.Web.Http.OData/OData/ODataActionParameters.cs
new file mode 100644
index 00000000..e125ce9a
--- /dev/null
+++ b/src/System.Web.Http.OData/OData/ODataActionParameters.cs
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.Diagnostics.Contracts;
+using System.Net.Http;
+using System.Web.Http.OData.Formatter;
+using System.Web.Http.OData.Formatter.Deserialization;
+using System.Web.Http.OData.Properties;
+using Microsoft.Data.Edm;
+
+namespace System.Web.Http.OData
+{
+ /// <summary>
+ /// ActionPayload holds the Parameter names and values provided by a client in a POST request
+ /// to invoke a particular Action. The Parameter values are stored in the dictionary keyed using the Parameter name.
+ /// </summary>
+ [ODataParameterBinding]
+ [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "Pending, will remove once class has appropriate base type.")]
+ [SuppressMessage("Microsoft.Usage", "CA2237:MarkISerializableTypesWithSerializable", Justification = "Pending, will remove once class has appropriate base type.")]
+ public class ODataActionParameters : Dictionary<string, object>
+ {
+ /// <summary>
+ /// Gets the IEdmFunctionImport that describes the payload.
+ /// </summary>
+ public virtual IEdmFunctionImport GetFunctionImport(ODataDeserializerContext context)
+ {
+ HttpConfiguration configuration = context.Request.GetConfiguration();
+ if (configuration == null)
+ {
+ throw Error.InvalidOperation(SRResources.RequestMustContainConfiguration);
+ }
+ IODataActionResolver resolver = configuration.GetODataActionResolver();
+ Contract.Assert(resolver != null);
+ return resolver.Resolve(context);
+ }
+ }
+} \ No newline at end of file