package com.eksad.masterdata.common.dto;

import com.eksad.ddms.common.dto.CreationalSpecificationDTO;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.masterdata.common.listEnum.PromoSource;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;
import java.util.UUID;

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PromoUnitBerlakuDTO implements Serializable {
    //
    private String PromoUnitBerlakuID;
    private String unitCategoryID;
    private String unitCategoryName;
    private String unitSeriesID;
    private String unitSeriesName;
    private String unitTypeID;
    private String unitTypeName;
    private String promoID;
    private DataStatus promoUnitBerlakuStatus;
    private PromoSource source;
    private CreationalSpecificationDTO promoUnitBerlakuCreationalDTO;

    @JsonIgnore
    public PromoUnitBerlakuDTO getInstance() {
        return new PromoUnitBerlakuDTO(
                UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
                "C", "CUB", "USR001", "SUPRA", "UTP0099", "SUPRAX",
                UUID.randomUUID().toString().substring(0, 8).toUpperCase(), DataStatus.ACTIVE, PromoSource.PROMO,
                new CreationalSpecificationDTO(new Date(), "SYSTEM", new Date(), "SYSTEM"));

    }
}