package vn.azteam.tpf.service.dto;

import java.time.Instant;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import javax.validation.constraints.PositiveOrZero;

public class ProductBlockUpdateDTO {
    @NotNull
    private Instant updateDate;

    @NotNull @PositiveOrZero
    private Integer action;

    @NotNull @Positive
    private Double quantity;

    private String description;

    @Positive
    private Long productBlockDetailsId;

    private TBProductBlockDetailsDTO productBlockDetailsDTO;

    private Instant harvestDate;

    private Instant expDate;

    @Positive
    private Integer productLevel;

    @Positive
    private Long productUnitId;

    @Positive
    private Long cropId;

    @NotNull @Positive
    private Long entityId;

    public Instant getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Instant updateDate) {
        this.updateDate = updateDate;
    }

    public Integer getAction() {
        return action;
    }

    public void setAction(Integer action) {
        this.action = action;
    }

    public Double getQuantity() {
        return quantity;
    }

    public void setQuantity(Double quantity) {
        this.quantity = quantity;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Long getProductBlockDetailsId() {
        return productBlockDetailsId;
    }

    public void setProductBlockDetailsId(Long productBlockDetailsId) {
        this.productBlockDetailsId = productBlockDetailsId;
    }

    public TBProductBlockDetailsDTO getProductBlockDetailsDTO() {
        return productBlockDetailsDTO;
    }

    public void setProductBlockDetailsDTO(TBProductBlockDetailsDTO productBlockDetailsDTO) {
        this.productBlockDetailsDTO = productBlockDetailsDTO;
    }

    public Instant getHarvestDate() {
        return harvestDate;
    }

    public void setHarvestDate(Instant harvestDate) {
        this.harvestDate = harvestDate;
    }

    public Instant getExpDate() {
        return expDate;
    }

    public void setExpDate(Instant expDate) {
        this.expDate = expDate;
    }

    public Integer getProductLevel() {
        return productLevel;
    }

    public void setProductLevel(Integer productLevel) {
        this.productLevel = productLevel;
    }

    public Long getProductUnitId() {
        return productUnitId;
    }

    public void setProductUnitId(Long productUnitId) {
        this.productUnitId = productUnitId;
    }

    public Long getCropId() {
        return cropId;
    }

    public void setCropId(Long cropId) {
        this.cropId = cropId;
    }

    public Long getEntityId() {
        return entityId;
    }

    public void setEntityId(Long entityId) {
        this.entityId = entityId;
    }
}
