public ResultsEngineResponse Execute(ITeamResultEngineContext context, IUpdatePendingTeamFixtureRequest 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);
        }
Exemplo n.º 2
0
 public Task <ResultsEngineStatuses> Process(ITeamResultEngineContext context, IUpdatePendingTeamFixtureRequest request, ResultsEngineResponse response)
 {
     context.Fixture.UpdatePendingFixture(request.CompletedFixture);
     return(Task.FromResult(ResultsEngineStatuses.Success));
 }
Exemplo n.º 3
0
 public ResultsEngineResponse UpdatePendingFixture(IUpdatePendingTeamFixtureRequest request)
 {
     return(this._updatePendingTeamFixtureAction.Execute(this._context, request));
 }
Exemplo n.º 4
0
 public Task <bool> IsSatisfiedBy(ITeamResultEngineContext context, IUpdatePendingTeamFixtureRequest request, ResultsEngineResponse response)
 {
     return(Task.FromResult <bool>(context.Fixture.IsPending()));
 }
Exemplo n.º 5
0
        public IList <IProcessor <ITeamResultEngineContext, IUpdatePendingTeamFixtureRequest, ResultsEngineResponse> > Create(ITeamResultEngineContext context,
                                                                                                                              IUpdatePendingTeamFixtureRequest request)
        {
            var list = new List <IProcessor <ITeamResultEngineContext, IUpdatePendingTeamFixtureRequest, ResultsEngineResponse> >();

            switch (context.CompetitionStage.CompetitionStageFormatID)
            {
            case CompetitionStageFormats.SingleKnockout:
            {
                list.Add(this._updatePendingTeamFixtureProcessor);
            }
            break;

            case CompetitionStageFormats.SingleLeague:
            case CompetitionStageFormats.Groups:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(list);
        }