package com.bcxin.tenant.domain.readers.dtos;

import com.bcxin.Infrastructures.entities.OperatorValueType;
import com.bcxin.Infrastructures.enums.*;
import lombok.Getter;

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

@Getter
public class EmployeeContractDto implements Serializable {
    private final String id;
    private final String name;
    private final String idNum;
    private final CredentialType credentialType;
    private final String aName;
    private final String bName;
    private final String employeeId;

    private final String employeeName;
    private final String employeeTelephone;
    private String employeeDepartName;
    private final OccupationType employeeOccupationType;
    private final EmploymentStatus employeeStatus;
    private final Date beginDate;
    private final Date endDate;
    private final TrueFalseStatus dateLimitless;
    private final String attachment;
    private final String note;
    private final ValidStatus status;
    private final OperatorValueType lastModifier;
    private final OperatorValueType creator;
    private ContractStatus contractStatus;
    public void setContractStatus(ContractStatus contractStatus) {
        this.contractStatus = contractStatus;
    }


    public EmployeeContractDto(String id,
                               String name,
                               String idNum,
                               CredentialType credentialType,
                               String aName,
                               String bName,
                               String employeeId,
                               String employeeName,
                               String employeeTelephone,
                               OccupationType employeeOccupationType,
                               EmploymentStatus employeeStatus,
                               Date beginDate,
                               Date endDate,
                               TrueFalseStatus dateLimitless,
                               String attachment,
                               String note,
                               ValidStatus status,
                               OperatorValueType lastModifier,
                               OperatorValueType creator) {
        this.id = id;
        this.name = name;
        this.idNum = idNum;
        this.credentialType = credentialType;
        this.aName = aName;
        this.bName = bName;
        this.employeeId = employeeId;
        this.employeeName = employeeName;
        this.employeeTelephone = employeeTelephone;
        this.employeeOccupationType = employeeOccupationType;
        this.employeeStatus = employeeStatus;
        this.beginDate = beginDate;
        this.endDate = endDate;
        this.dateLimitless = dateLimitless;
        this.attachment = attachment;
        this.note = note;
        this.status = status;
        this.lastModifier = lastModifier;
        this.creator = creator;
    }

    public void setEmployeeDepartName(String employeeDepartName){
        this.employeeDepartName = employeeDepartName;
    }
}
