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); }
public bool TryResolveServiceAction(DataServiceOperationContext operationContext, ServiceActionResolverArgs resolverArgs, out ServiceAction serviceAction) { if (this.callback != null) { return(this.callback(operationContext, resolverArgs, out serviceAction)); } throw new NotImplementedException(); }
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); }
public bool TryResolveServiceAction(DataServiceOperationContext operationContext, ServiceActionResolverArgs resolverArgs, out ServiceAction serviceAction) { serviceAction = actions[0]; return(true); }