package de.avatic.lcc.dto.calculation;

import com.fasterxml.jackson.annotation.JsonProperty;
import de.avatic.lcc.dto.generic.NodeDTO;

import java.math.BigDecimal;
import java.util.List;

public class DestinationDTO {

    private Integer id;

    @JsonProperty("annual_amount")
    private Number annualAmount;

    @JsonProperty("repackaging_costs")
    private Number repackingCosts;

    @JsonProperty("handling_costs")
    private Number handlingCosts;

    @JsonProperty("disposal_costs")
    private Number disposalCosts;

    @JsonProperty("destination_node")
    private NodeDTO destinationNode;

    @JsonProperty("is_d2d")
    private Boolean d2d;

    @JsonProperty("rate_d2d")
    private BigDecimal rateD2d;

    @JsonProperty("lead_time_d2d")
    private Number leadTimeD2d;

    private List<RouteDTO> routes;

    public Boolean getD2d() {
        return d2d;
    }

    public BigDecimal getRateD2d() {
        return rateD2d;
    }

    public Number getAnnualAmount() {
        return annualAmount;
    }

    public void setAnnualAmount(Number annualAmount) {
        this.annualAmount = annualAmount;
    }


    public Integer getId() {
        return id;
    }

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

    public Number getRepackingCosts() {
        return repackingCosts;
    }

    public void setRepackingCosts(Number repackingCosts) {
        this.repackingCosts = repackingCosts;
    }

    public Number getHandlingCosts() {
        return handlingCosts;
    }

    public void setHandlingCosts(Number handlingCosts) {
        this.handlingCosts = handlingCosts;
    }

    public Number getDisposalCosts() {
        return disposalCosts;
    }

    public void setDisposalCosts(Number disposalCosts) {
        this.disposalCosts = disposalCosts;
    }

    public NodeDTO getDestinationNode() {
        return destinationNode;
    }

    public void setDestinationNode(NodeDTO destinationNode) {
        this.destinationNode = destinationNode;
    }

    public List<RouteDTO> getRoutes() {
        return routes;
    }

    public void setRoutes(List<RouteDTO> routes) {
        this.routes = routes;
    }

    public void setD2d(Boolean d2d) {
        this.d2d = d2d;
    }

    public void setRateD2d(BigDecimal rateD2d) {
        this.rateD2d = rateD2d;
    }

    public Number getLeadTimeD2d() {
        return leadTimeD2d;
    }

    public void setLeadTimeD2d(Number leadTimeD2d) {
        this.leadTimeD2d = leadTimeD2d;
    }
}
