diff --git a/src/Microsoft.OData.Client/DataServiceActionQueryOfT.cs b/src/Microsoft.OData.Client/DataServiceActionQueryOfT.cs index ed361ad480..f549248625 100644 --- a/src/Microsoft.OData.Client/DataServiceActionQueryOfT.cs +++ b/src/Microsoft.OData.Client/DataServiceActionQueryOfT.cs @@ -20,12 +20,12 @@ public sealed class DataServiceActionQuery /// /// Context associated with this query. /// - private readonly DataServiceContext Context; + private readonly DataServiceContext context; /// /// Parameters of this action. /// - private readonly BodyOperationParameter[] Parameters; + private readonly BodyOperationParameter[] parameters; /// /// Object of an action which returns a collection. @@ -35,9 +35,34 @@ public sealed class DataServiceActionQuery /// Parameters of this action. public DataServiceActionQuery(DataServiceContext context, string requestUriString, params BodyOperationParameter[] parameters) { - this.Context = context; + this.context = context; this.RequestUri = new Uri(requestUriString); - this.Parameters = parameters; + this.parameters = parameters; + } + + /// + /// Gets the that will be used to execute the action query + /// + public DataServiceContext Context + { + get + { + return this.context; + } + } + + /// + /// Gets the s that will be provided to the action when the query is executed + /// + public IEnumerable Parameters + { + get + { + foreach (var element in this.parameters) + { + yield return element; + } + } } /// @@ -52,7 +77,7 @@ public DataServiceActionQuery(DataServiceContext context, string requestUriStrin /// Problem materializing result of query into object. public IEnumerable Execute() { - return Context.Execute(this.RequestUri, XmlConstants.HttpMethodPost, false, Parameters); + return context.Execute(this.RequestUri, XmlConstants.HttpMethodPost, false, parameters); } /// Asynchronously sends a request to the data service to execute a specific URI. @@ -62,7 +87,7 @@ public IEnumerable Execute() [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Justification = "Type is used to infer result")] public IAsyncResult BeginExecute(AsyncCallback callback, object state) { - return Context.BeginExecute(this.RequestUri, callback, state, XmlConstants.HttpMethodPost, false, Parameters); + return context.BeginExecute(this.RequestUri, callback, state, XmlConstants.HttpMethodPost, false, parameters); } /// Asynchronously sends the request so that this call does not block processing while waiting for the results from the service. @@ -77,7 +102,7 @@ public Task> ExecuteAsync() /// The token to monitor for cancellation requests. public Task> ExecuteAsync(CancellationToken cancellationToken) { - return Context.ExecuteAsync(this.RequestUri, XmlConstants.HttpMethodPost, false, cancellationToken, Parameters); + return context.ExecuteAsync(this.RequestUri, XmlConstants.HttpMethodPost, false, cancellationToken, parameters); } /// Called to complete the . @@ -92,7 +117,7 @@ public Task> ExecuteAsync(CancellationToken cancellationToken) public IEnumerable EndExecute(IAsyncResult asyncResult) { Util.CheckArgumentNull(asyncResult, "asyncResult"); - return Context.EndExecute(asyncResult); + return context.EndExecute(asyncResult); } /// diff --git a/src/Microsoft.OData.Client/PublicAPI/net45/PublicAPI.Unshipped.txt b/src/Microsoft.OData.Client/PublicAPI/net45/PublicAPI.Unshipped.txt index e69de29bb2..59b8d95a10 100644 --- a/src/Microsoft.OData.Client/PublicAPI/net45/PublicAPI.Unshipped.txt +++ b/src/Microsoft.OData.Client/PublicAPI/net45/PublicAPI.Unshipped.txt @@ -0,0 +1,2 @@ +Microsoft.OData.Client.DataServiceActionQuery.Context.get -> Microsoft.OData.Client.DataServiceContext +Microsoft.OData.Client.DataServiceActionQuery.Parameters.get -> System.Collections.Generic.IEnumerable \ No newline at end of file diff --git a/src/Microsoft.OData.Client/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt b/src/Microsoft.OData.Client/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt index e69de29bb2..59b8d95a10 100644 --- a/src/Microsoft.OData.Client/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt +++ b/src/Microsoft.OData.Client/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt @@ -0,0 +1,2 @@ +Microsoft.OData.Client.DataServiceActionQuery.Context.get -> Microsoft.OData.Client.DataServiceContext +Microsoft.OData.Client.DataServiceActionQuery.Parameters.get -> System.Collections.Generic.IEnumerable \ No newline at end of file diff --git a/test/PublicApiTests/BaseLine/Microsoft.OData.PublicApi.net45.bsl b/test/PublicApiTests/BaseLine/Microsoft.OData.PublicApi.net45.bsl index fd85dd37bc..f585c78775 100644 --- a/test/PublicApiTests/BaseLine/Microsoft.OData.PublicApi.net45.bsl +++ b/test/PublicApiTests/BaseLine/Microsoft.OData.PublicApi.net45.bsl @@ -8647,6 +8647,8 @@ public sealed class Microsoft.OData.Client.ContainerPropertyAttribute : System.A public sealed class Microsoft.OData.Client.DataServiceActionQuery`1 { public DataServiceActionQuery`1 (Microsoft.OData.Client.DataServiceContext context, string requestUriString, Microsoft.OData.Client.BodyOperationParameter[] parameters) + Microsoft.OData.Client.DataServiceContext Context { public get; } + System.Collections.Generic.IEnumerable`1[[Microsoft.OData.Client.BodyOperationParameter]] Parameters { public get; } System.Uri RequestUri { public get; } public System.IAsyncResult BeginExecute (System.AsyncCallback callback, object state) diff --git a/test/PublicApiTests/BaseLine/Microsoft.OData.PublicApi.netstandard2.0.bsl b/test/PublicApiTests/BaseLine/Microsoft.OData.PublicApi.netstandard2.0.bsl index fd85dd37bc..f585c78775 100644 --- a/test/PublicApiTests/BaseLine/Microsoft.OData.PublicApi.netstandard2.0.bsl +++ b/test/PublicApiTests/BaseLine/Microsoft.OData.PublicApi.netstandard2.0.bsl @@ -8647,6 +8647,8 @@ public sealed class Microsoft.OData.Client.ContainerPropertyAttribute : System.A public sealed class Microsoft.OData.Client.DataServiceActionQuery`1 { public DataServiceActionQuery`1 (Microsoft.OData.Client.DataServiceContext context, string requestUriString, Microsoft.OData.Client.BodyOperationParameter[] parameters) + Microsoft.OData.Client.DataServiceContext Context { public get; } + System.Collections.Generic.IEnumerable`1[[Microsoft.OData.Client.BodyOperationParameter]] Parameters { public get; } System.Uri RequestUri { public get; } public System.IAsyncResult BeginExecute (System.AsyncCallback callback, object state)