コード例 #1
0
        public bool TryResolveServiceAction(DataServiceOperationContext context, ServiceActionResolverArgs resolverArgs, out ServiceAction serviceAction)
        {
            string actionName = resolverArgs.ServiceActionName;
            IEnumerable <ServiceAction> possibleMatches = this.GetServiceActions(context).Where(a => a.Name == actionName);

            if (possibleMatches.Count() == 1)
            {
                serviceAction = possibleMatches.Single();
            }
            else if (resolverArgs.BindingType == null)
            {
                // unbound action
                serviceAction = possibleMatches.SingleOrDefault(a => a.BindingParameter == null);
            }
            else
            {
                serviceAction = possibleMatches.SingleOrDefault(a => a.BindingParameter != null && a.BindingParameter.ParameterType.FullName == resolverArgs.BindingType.FullName);
            }

            return(serviceAction != null);
        }
コード例 #2
0
            public bool TryResolveServiceAction(DataServiceOperationContext operationContext, ServiceActionResolverArgs resolverArgs, out ServiceAction serviceAction)
            {
                if (this.callback != null)
                {
                    return(this.callback(operationContext, resolverArgs, out serviceAction));
                }

                throw new NotImplementedException();
            }
コード例 #3
0
 private bool FailToResolveSpecificActionOnEntityType(DataServiceOperationContext operationContextFromProduct, ServiceActionResolverArgs resolverArgs, out ServiceAction serviceAction)
 {
     operationContextFromProduct.Should().BeSameAs(this.operationContext);
     resolverArgs.Should().NotBeNull();
     resolverArgs.ServiceActionName.Should().Be(this.action.Name);
     resolverArgs.BindingType.Should().BeSameAs(this.entityType);
     serviceAction = null;
     return(false);
 }
コード例 #4
0
 public bool TryResolveServiceAction(DataServiceOperationContext operationContext, ServiceActionResolverArgs resolverArgs, out ServiceAction serviceAction)
 {
     serviceAction = actions[0];
     return(true);
 }