public ResultsEngineResponse Execute(IPlayerResultEngineContext context, IUpdatePendingPlayerFixtureRequest request) { this._unitOfWork.GuardCheckInTransaction(); var response = new ResultsEngineResponse(); var processors = this._processorFactory.Create(context, request); var status = this._processorExecutor.Execute(context, request, response, processors); response.Status = status; return(response); }
public Task <ResultsEngineStatuses> Process(IPlayerResultEngineContext context, IUpdatePendingPlayerFixtureRequest request, ResultsEngineResponse response) { context.PlayerFixture.UpdatePendingFixture(request.CompletedFixture); return(Task.FromResult(ResultsEngineStatuses.Success)); }
public IList <IProcessor <IPlayerResultEngineContext, IUpdatePendingPlayerFixtureRequest, ResultsEngineResponse> > Create(IPlayerResultEngineContext context, IUpdatePendingPlayerFixtureRequest request) { var list = new List <IProcessor <IPlayerResultEngineContext, IUpdatePendingPlayerFixtureRequest, ResultsEngineResponse> >(); switch (context.CompetitionStage.CompetitionStageFormatID) { case CompetitionStageFormats.SingleKnockout: { list.Add(this._updatePendingFixtureProcessor); } break; case CompetitionStageFormats.SingleLeague: case CompetitionStageFormats.Groups: break; default: throw new ArgumentOutOfRangeException(); } return(list); }
public Task <bool> IsSatisfiedBy(IPlayerResultEngineContext context, IUpdatePendingPlayerFixtureRequest request, ResultsEngineResponse response) { return(Task.FromResult <bool>(context.PlayerFixture.IsPending())); }
public ResultsEngineResponse UpdatePendingFixture(IUpdatePendingPlayerFixtureRequest request) { return(this._updatePendingPlayerFixtureAction.Execute(this._context, request)); }