package de.avatic.lcc.dto.error;

import java.math.BigDecimal;

public class CalculationJobRouteSectionDumpDTO {

    private Integer id;
    private Integer premiseRouteSectionId;
    private Integer calculationJobDestinationId;
    private String transportType;
    private Boolean isUnmixedPrice;
    private Boolean isCbmPrice;
    private Boolean isWeightPrice;
    private Boolean isStacked;
    private Boolean isPreRun;
    private Boolean isMainRun;
    private Boolean isPostRun;
    private BigDecimal rate;
    private BigDecimal distance;
    private BigDecimal cbmPrice;
    private BigDecimal weightPrice;
    private BigDecimal annualCost;
    private Integer transitTime;

    // Default constructor
    public CalculationJobRouteSectionDumpDTO() {
    }

    // All-args constructor
    public CalculationJobRouteSectionDumpDTO(Integer id, Integer premiseRouteSectionId,
                                             Integer calculationJobDestinationId, String transportType, Boolean isUnmixedPrice,
                                             Boolean isCbmPrice, Boolean isWeightPrice, Boolean isStacked, Boolean isPreRun,
                                             Boolean isMainRun, Boolean isPostRun, BigDecimal rate, BigDecimal distance,
                                             BigDecimal cbmPrice, BigDecimal weightPrice, BigDecimal annualCost, Integer transitTime) {
        this.id = id;
        this.premiseRouteSectionId = premiseRouteSectionId;
        this.calculationJobDestinationId = calculationJobDestinationId;
        this.transportType = transportType;
        this.isUnmixedPrice = isUnmixedPrice;
        this.isCbmPrice = isCbmPrice;
        this.isWeightPrice = isWeightPrice;
        this.isStacked = isStacked;
        this.isPreRun = isPreRun;
        this.isMainRun = isMainRun;
        this.isPostRun = isPostRun;
        this.rate = rate;
        this.distance = distance;
        this.cbmPrice = cbmPrice;
        this.weightPrice = weightPrice;
        this.annualCost = annualCost;
        this.transitTime = transitTime;
    }

    // Getters and Setters
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getPremiseRouteSectionId() {
        return premiseRouteSectionId;
    }

    public void setPremiseRouteSectionId(Integer premiseRouteSectionId) {
        this.premiseRouteSectionId = premiseRouteSectionId;
    }

    public Integer getCalculationJobDestinationId() {
        return calculationJobDestinationId;
    }

    public void setCalculationJobDestinationId(Integer calculationJobDestinationId) {
        this.calculationJobDestinationId = calculationJobDestinationId;
    }

    public String getTransportType() {
        return transportType;
    }

    public void setTransportType(String transportType) {
        this.transportType = transportType;
    }

    public Boolean getIsUnmixedPrice() {
        return isUnmixedPrice;
    }

    public void setIsUnmixedPrice(Boolean isUnmixedPrice) {
        this.isUnmixedPrice = isUnmixedPrice;
    }

    public Boolean getIsCbmPrice() {
        return isCbmPrice;
    }

    public void setIsCbmPrice(Boolean isCbmPrice) {
        this.isCbmPrice = isCbmPrice;
    }

    public Boolean getIsWeightPrice() {
        return isWeightPrice;
    }

    public void setIsWeightPrice(Boolean isWeightPrice) {
        this.isWeightPrice = isWeightPrice;
    }

    public Boolean getIsStacked() {
        return isStacked;
    }

    public void setIsStacked(Boolean isStacked) {
        this.isStacked = isStacked;
    }

    public Boolean getIsPreRun() {
        return isPreRun;
    }

    public void setIsPreRun(Boolean isPreRun) {
        this.isPreRun = isPreRun;
    }

    public Boolean getIsMainRun() {
        return isMainRun;
    }

    public void setIsMainRun(Boolean isMainRun) {
        this.isMainRun = isMainRun;
    }

    public Boolean getIsPostRun() {
        return isPostRun;
    }

    public void setIsPostRun(Boolean isPostRun) {
        this.isPostRun = isPostRun;
    }

    public BigDecimal getRate() {
        return rate;
    }

    public void setRate(BigDecimal rate) {
        this.rate = rate;
    }

    public BigDecimal getDistance() {
        return distance;
    }

    public void setDistance(BigDecimal distance) {
        this.distance = distance;
    }

    public BigDecimal getCbmPrice() {
        return cbmPrice;
    }

    public void setCbmPrice(BigDecimal cbmPrice) {
        this.cbmPrice = cbmPrice;
    }

    public BigDecimal getWeightPrice() {
        return weightPrice;
    }

    public void setWeightPrice(BigDecimal weightPrice) {
        this.weightPrice = weightPrice;
    }

    public BigDecimal getAnnualCost() {
        return annualCost;
    }

    public void setAnnualCost(BigDecimal annualCost) {
        this.annualCost = annualCost;
    }

    public Integer getTransitTime() {
        return transitTime;
    }

    public void setTransitTime(Integer transitTime) {
        this.transitTime = transitTime;
    }

    @Override
    public String toString() {
        return "CalculationJobRouteSectionDumpDTO{" +
                "id=" + id +
                ", premiseRouteSectionId=" + premiseRouteSectionId +
                ", calculationJobDestinationId=" + calculationJobDestinationId +
                ", transportType='" + transportType + '\'' +
                ", isUnmixedPrice=" + isUnmixedPrice +
                ", isCbmPrice=" + isCbmPrice +
                ", isWeightPrice=" + isWeightPrice +
                ", isStacked=" + isStacked +
                ", isPreRun=" + isPreRun +
                ", isMainRun=" + isMainRun +
                ", isPostRun=" + isPostRun +
                ", rate=" + rate +
                ", distance=" + distance +
                ", cbmPrice=" + cbmPrice +
                ", weightPrice=" + weightPrice +
                ", annualCost=" + annualCost +
                ", transitTime=" + transitTime +
                '}';
    }
}