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)); }