package de.avatic.lcc.dto.calculation.edit.masterData;

import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.Valid;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.Digits;
import jakarta.validation.constraints.Min;

import java.util.List;


public class PriceUpdateDTO {

    @JsonProperty("premise_ids")
    private List<@Min(1) Integer> premiseIds;

    @JsonProperty("material_cost")
    @DecimalMin(value = "0.01", message = "Amount must be greater than 0")
    @Digits(integer = 13, fraction = 2, message = "Amount must have at most 2 decimal places")
    private Number price;

    @JsonProperty("oversea_share")
    @DecimalMin(value = "0.00", message = "Amount must be greater than or equal 0")
    @Digits(integer = 4, fraction = 4, message = "Amount must have at most 4 decimal places")
    private Number overseaShare;

    @JsonProperty("is_fca_enabled")
    private Boolean includeFcaFee;


    public Number getPrice() {
        return price;
    }

    public void setPrice(Number price) {
        this.price = price;
    }

    public Number getOverseaShare() {
        return overseaShare;
    }

    public void setOverseaShare(Number overseaShare) {
        this.overseaShare = overseaShare;
    }

    public Boolean getIncludeFcaFee() {
        return includeFcaFee;
    }

    public void setIncludeFcaFee(Boolean includeFcaFee) {
        this.includeFcaFee = includeFcaFee;
    }

    public List<Integer> getPremiseIds() {
        return premiseIds;
    }

    public void setPremiseIds(List<Integer> premiseIds) {
        this.premiseIds = premiseIds;
    }
}
