35 lines
936 B
TypeScript
35 lines
936 B
TypeScript
import type {
|
|
IRaceWithSOFPresenter,
|
|
RaceWithSOFResultDTO,
|
|
RaceWithSOFViewModel,
|
|
} from '@gridpilot/racing/application/presenters/IRaceWithSOFPresenter';
|
|
|
|
export class RaceWithSOFPresenter implements IRaceWithSOFPresenter {
|
|
private viewModel: RaceWithSOFViewModel | null = null;
|
|
|
|
present(dto: RaceWithSOFResultDTO): void {
|
|
this.viewModel = {
|
|
id: dto.raceId,
|
|
leagueId: dto.leagueId,
|
|
scheduledAt: dto.scheduledAt.toISOString(),
|
|
track: dto.track,
|
|
trackId: dto.trackId,
|
|
car: dto.car,
|
|
carId: dto.carId,
|
|
sessionType: dto.sessionType,
|
|
status: dto.status,
|
|
strengthOfField: dto.strengthOfField,
|
|
registeredCount: dto.registeredCount,
|
|
maxParticipants: dto.maxParticipants,
|
|
participantCount: dto.participantCount,
|
|
};
|
|
}
|
|
|
|
getViewModel(): RaceWithSOFViewModel | null {
|
|
return this.viewModel;
|
|
}
|
|
|
|
reset(): void {
|
|
this.viewModel = null;
|
|
}
|
|
} |