package object;

import java.time.LocalDateTime;

public class ResultDTO {

    String tableName;
    LocalDateTime gameDate;
    String homeTeam;
    String awayTeam;
    int homeScore;
    int awayScore;
    boolean overtime;
    float odds1;
    float oddsX;
    float odds2;
    float oddsOver25goals;
    float oddsUnder25goals;
    int countryId;
    String season;
    int leagueId;
    int sportId;
    private int homeTeamId;
    private int awayTeamId;

    public ResultDTO() {
    }

    public ResultDTO(String tableName) {
        super();
        homeScore = -1;
        awayScore = -1;
        this.tableName = tableName;
    }

    public ResultDTO(String tableName, LocalDateTime gameDate, int homeTeamId, int awayTeamId, int homeScore,
            int awayScore, boolean overtime, float odds1, float oddsX, float odds2, int countryId, String season,
            int leagueId, int sportId) {
        super();
        this.tableName = tableName;
        this.gameDate = gameDate;
        this.homeTeamId = homeTeamId;
        this.awayTeamId = awayTeamId;
        this.homeScore = homeScore;
        this.awayScore = awayScore;
        this.overtime = overtime;
        this.odds1 = odds1;
        this.oddsX = oddsX;
        this.odds2 = odds2;
        this.countryId = countryId;
        this.season = season;
        this.leagueId = leagueId;
        this.sportId = sportId;
    }

    public ResultDTO(String tableName, LocalDateTime gameDate, String homeTeam, String awayTeam, int homeScore,
            int awayScore, boolean overtime, float odds1, float oddsX, float odds2, int countryId, String season,
            int leagueId, int sportId) {
        super();
        this.tableName = tableName;
        this.gameDate = gameDate;
        this.homeTeam = homeTeam;
        this.awayTeam = awayTeam;
        this.homeScore = homeScore;
        this.awayScore = awayScore;
        this.overtime = overtime;
        this.odds1 = odds1;
        this.oddsX = oddsX;
        this.odds2 = odds2;
        this.countryId = countryId;
        this.season = season;
        this.leagueId = leagueId;
        this.sportId = sportId;
    }

    public ResultDTO(String homeTeamName, String awayTeamName, float odds1, float oddsX, float odds2) {
        this.homeTeam = homeTeamName;
        this.awayTeam = awayTeamName;
        this.odds1 = odds1;
        this.oddsX = oddsX;
        this.odds2 = odds2;
    }

    public ResultDTO(String homeTeamName, String awayTeamName, float odds1, float oddsX, float odds2,
            float oddsOver25, float oddsUnder25) {
        this(homeTeamName, awayTeamName, odds1, oddsX, odds2);
        this.oddsOver25goals = oddsOver25;
        this.oddsUnder25goals = oddsUnder25;
    }

    public int getAwayScore() {
        return awayScore;
    }

    public String getAwayTeam() {
        return awayTeam;
    }

    public int getAwayTeamId() {
        return awayTeamId;
    }

    public int getCountryId() {
        return countryId;
    }

    public LocalDateTime getGameDate() {
        return gameDate;
    }

    public int getHomeScore() {
        return homeScore;
    }

    public String getHomeTeam() {
        return homeTeam;
    }

    public int getHomeTeamId() {
        return homeTeamId;
    }

    public int getLeagueId() {
        return leagueId;
    }

    public float getOdds1() {
        return odds1;
    }

    public float getOdds2() {
        return odds2;
    }

    public float getOddsOver25goals() {
        return oddsOver25goals;
    }

    public float getOddsUnder25goals() {
        return oddsUnder25goals;
    }

    public float getOddsX() {
        return oddsX;
    }

    public String getSeason() {
        return season;
    }

    public int getSportId() {
        return sportId;
    }

    public String getTableName() {
        return tableName;
    }

    public boolean isOvertime() {
        return overtime;
    }

    public void setAwayScore(int awayScore) {
        this.awayScore = awayScore;
    }

    public void setAwayTeam(String awayTeam) {
        this.awayTeam = awayTeam;
    }

    public void setAwayTeamId(int awayTeamId) {
        this.awayTeamId = awayTeamId;
    }

    public void setCountryId(int countryId) {
        this.countryId = countryId;
    }

    public void setGameDate(LocalDateTime gameDate) {
        this.gameDate = gameDate;
    }

    public void setHomeScore(int homeScore) {
        this.homeScore = homeScore;
    }

    public void setHomeTeam(String homeTeam) {
        this.homeTeam = homeTeam;
    }

    public void setHomeTeamId(int homeTeamId) {
        this.homeTeamId = homeTeamId;
    }

    public void setLeagueId(int leagueId) {
        this.leagueId = leagueId;
    }

    public void setOdds1(float odds1) {
        this.odds1 = odds1;
    }

    public void setOdds2(float odds2) {
        this.odds2 = odds2;
    }

    public void setOddsOver25goals(float oddsOver25goals) {
        this.oddsOver25goals = oddsOver25goals;
    }

    public void setOddsUnder25goals(float oddsUnder25goals) {
        this.oddsUnder25goals = oddsUnder25goals;
    }

    public void setOddsX(float oddsX) {
        this.oddsX = oddsX;
    }

    public void setOvertime(boolean overtime) {
        this.overtime = overtime;
    }

    public void setSeason(String season) {
        this.season = season;
    }

    public void setSportId(int sportId) {
        this.sportId = sportId;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    @Override
    public String toString() {
        return homeTeam + " (" + homeTeamId + "), " + awayTeam + " (" + awayTeamId + "), leagueId " + leagueId
                + ", countryId " + countryId + ", " + odds1 + "," + oddsX + ","
                + odds2 + ", score " + homeScore + "-" + awayScore;
    }
}
