예제 #1
0
        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);
        }
예제 #2
0
        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);
        }