public virtual OrganisationRequestToken <TResponse> ExecuteDeferred <TResponse>(OrganizationRequest request) where TResponse : OrganizationResponse { ValidateDeferredQueueState(); var token = new OrganisationRequestToken <TResponse> { Request = request.Copy() }; deferredRequests.Add(token); return(token); }
protected virtual T PlanOperation <T>(OrganizationRequest plannedOperation, Func <PlannedResponse, T> getPlannedValue = null) where T : IPlannedValue { ValidateExecutionPlanState(); var plannedResponse = new PlannedResponse(); var plannedValue = getPlannedValue == null ? (IPlannedValue)plannedResponse : getPlannedValue(plannedResponse); executionQueue.Enqueue( new PlannedOperation { Request = plannedOperation.Copy().Mock <MockOrgRequest>(), Response = plannedResponse }); return((T)plannedValue); }