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.math.BigDecimal;
import java.util.UUID;

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ConfigPackageServicePartPromoDTO {

    private String configPackageServicePartID;
    private String workshopServiceName;
    private String reffID;
    private String satuan;
    private BigDecimal nilaiDiscount;
    private String promoID;
    private DataStatus configPackageServicePartPromoStatus;
    private PromoSource source;
    private String packageID;
    private String packageName;
    private Integer packageExpiry;
    private Integer packageLimit;
    private CreationalSpecificationDTO configPackageServicePartPromoCreationalDTO;

    @JsonIgnore
    public ConfigPackageServicePartPromoDTO getInstance() {
        return new ConfigPackageServicePartPromoDTO(
                UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
                "DUMMY PACKAGE NAME",
                "WORKSHOP SERVICE ID",
                "PERCENTAGE",
                new BigDecimal(20),
                "PROMO1",
                DataStatus.ACTIVE,
                PromoSource.PROMO,
                "PKG001",
                "DUMMY PACKAGE",
                10,
                3,
                new CreationalSpecificationDTO().getInstance()
        );
    }
}