package io.gmss.fiscad.paylaods.request;

import io.gmss.fiscad.enums.Categorie;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import lombok.Data;
import org.hibernate.annotations.ColumnDefault;


@Data
public class PersonnePayLoad {
    private Long idBackend;
    private String ifu;
    private Long externalKey;
    private String nomOuSigle;
    private String prenomOuRaisonSociale;
    private String numRavip;
    private String npi;
    private String dateNaissanceOuConsti;
    private String lieuNaissance;
    private String tel1;
    private String tel2;
    private String adresse;
    @Enumerated(EnumType.STRING)
    private Categorie categorie;
    private Long situationMatrimonialeId;
    private Long nationaliteId;
    private Long typePersonneId;
    private Long professionId;
    private Long communeId;
    private String observation;
    private boolean synchronise;
    private Long terminalId;

    /////////////////////////////
    @ColumnDefault("0")
    private int haveRepresentant;
    private String ravipQuestion;
    private String age;
    private String nomJeuneFille;
    private String nomMere;
    private String prenomMere;
    private String indicatifTel1;
    private String indicatifTel2;
    private String sexe;
    @ColumnDefault("0")
    private int mustHaveRepresentant;
    private String filePath;


    @Override
    public String toString() {
        return "PersonnePayLoad{" +
                "idBackend=" + idBackend +
                ", ifu='" + ifu + '\'' +
                ", externalKey=" + externalKey +
                ", nomOuSigle='" + nomOuSigle + '\'' +
                ", prenomOuRaisonSociale='" + prenomOuRaisonSociale + '\'' +
                ", numRavip='" + numRavip + '\'' +
                ", npi='" + npi + '\'' +
                ", dateNaissanceOuConsti='" + dateNaissanceOuConsti + '\'' +
                ", lieuNaissance='" + lieuNaissance + '\'' +
                ", tel1='" + tel1 + '\'' +
                ", tel2='" + tel2 + '\'' +
                ", adresse='" + adresse + '\'' +
                ", categorie=" + categorie +
                ", situationMatrimonialeId=" + situationMatrimonialeId +
                ", nationaliteId=" + nationaliteId +
                ", typePersonneId=" + typePersonneId +
                ", professionId=" + professionId +
                ", communeId=" + communeId +
                ", Observation='" + observation + '\'' +
                ", synchronise=" + synchronise +
                ", terminalId=" + terminalId +
                '}';
    }
}
