Пример #1
0
        public static BaseFixtureDto AssembleDto(this Com.BinaryBracket.BowlsResults.Competition.Domain.Entities.Fixture.Fixture fixture)
        {
            if (fixture is PlayerFixture playerFixture)
            {
                return(PlayerFixtureDtoAssembler.AssembleDto(playerFixture));
            }
            if (fixture is TeamFixture teamFixture)
            {
                return(teamFixture.AssembleDto());
            }

            throw new NotImplementedException("Only Player Dto Supported");
        }
        public async Task <ApiResponse> GetAllPlayerCompetitionFixture(int id)
        {
            Com.BinaryBracket.BowlsResults.Competition.Domain.Entities.Competition competition = await this._competitionRepository.GetWithRegistrationConfiguration(id);

            List <CompetitionRoundDto> list = new List <CompetitionRoundDto>();

            if (competition != null && competition.CompetitionScopeID == CompetitionScopes.Player)
            {
                List <PlayerFixture> fixtures = await this._playerFixtureRepository.GetAllFullByCompetition(id);

                var dtoList = PlayerFixtureDtoAssembler.AssembleDtoList(fixtures);
                return(ApiResponse.CreateSuccess(dtoList.OrderByDescending(x => x.SortDate).ThenByDescending(x => x.SummaryData.CompetitionRoundType).ThenByDescending(x => x.SummaryData.CompetitionRoundGameNumber)));
            }

            return(ApiResponse.CreateSuccess(list));
        }