public async Task <ApiResponse> Get(int id)
        {
            Com.BinaryBracket.BowlsResults.Competition.Domain.Entities.Competition competition = await this._competitionRepository.GetWithRegistrationConfiguration(id);

            CompetitionDto dto = competition.AssembleDto();

            return(ApiResponse.CreateSuccess(dto));
        }
        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));
        }
Example #3
0
        public static CompetitionDto AssembleDto(this Com.BinaryBracket.BowlsResults.Competition.Domain.Entities.Competition competition)
        {
            var dto = new CompetitionDto();

            dto.ID = competition.ID;
            dto.RegistrationStatus = competition.GetRegistrationStatus();
            dto.Name = competition.Name;

            if (competition.GameVariation != null)
            {
                dto.GameVariation = competition.GameVariation.Name;
                dto.GameFormatID  = competition.GameVariation.GameFormatID;
            }

            dto.StartDate = competition.StartDate;
            dto.VenueClub = competition.VenueClub?.AssembleDto();
            dto.Sponsor   = competition.Sponsor;
            dto.DataBit1  = competition.DataBit1;
            dto.ScopeID   = competition.CompetitionScopeID;

            if (competition.RegistrationConfiguration != null)
            {
                dto.RegistrationConfiguration = competition.RegistrationConfiguration.AssembleDto();
            }

            if (competition.Dates != null && competition.Dates.Count > 0)
            {
                dto.Dates = competition.Dates.OrderBy(x => x.Date).AssembleDtoList();
            }

            if (competition.Stages != null && competition.Stages.Count > 0)
            {
                dto.Stages = competition.Stages.OrderBy(x => x.Sequence).AssembleDtoList();
            }

            return(dto);
        }