package com.sc.sicanet.migracion_sicanet.DTO;

import jakarta.validation.constraints.*;

import java.time.LocalDate;

public class RepresentanteLegalDTO {
    @NotBlank(message = "El Tipo De Persona No Puede Estar Vacío")
    private String tipo_persona;

    @NotBlank(message = "El Campo 'Nombre' No Puede Estar Vacío")
    @Size(max = 150, message = "El Campo 'nombre' Debe Tener Un Máximo De 150 Caracteres")
    private String nombre;

    @NotNull(message = "El Campo 'apellido paterno' Es Requerido")
    @Size(max = 30, message = "El Campo 'apellido paterno' Debe Tener Un Máximo De 30 Caracteres")
    private String apaterno;

    @Size(max = 30, message = "El Campo 'apellido materno' Debe Tener Un Máximo De 30 Caracteres")
    private String amaterno;

    @NotNull(message = "El Campo 'entidad nacimiento' Es Requerido")
    @Size(max = 255, message = "El Campo 'entidad nacimiento' Debe Tener Un Máximo De 255 Caracteres")
    private String entidad_nacimiento;

    @NotNull(message = "El Campo 'lugar de nacimiento' Es Requerido")
    @Size(max = 100, message = "El Campo 'lugar de nacimiento' Debe Tener Un Máximo De 100 Caracteres")
    private String lugar_nacimiento;

    @NotNull(message = "El Campo 'fecha de nacimiento' Es Requerido")
    private LocalDate fecha_nacimiento;

    private String sexo;

    @NotNull(message = "El Campo 'curp' Es Requerido")
    @Size(max = 18, message = "El Campo 'CURP' Debe Tener Un Máximo De 18 Caracteres")
    private String curp;

    @NotNull(message = "El Campo 'rfc' Es Requerido")
    @Size(max = 13, message = "El Campo 'RFC' Debe Tener Un Máximo De 13 Caracteres")
    private String rfc;

    @NotNull(message = "El Campo 'estado civil' Es Requerido")
    @Size(max = 20, message = "El Campo 'estado civil' Debe Tener Un Máximo De 20 Caracteres")
    private String estado_civil;

    private DomicilioDTO domicilio_personal;

    public String getTipo_persona() {
        return tipo_persona;
    }

    public void setTipo_persona(String tipo_persona) {
        this.tipo_persona = tipo_persona;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApaterno() {
        return apaterno;
    }

    public void setApaterno(String apaterno) {
        this.apaterno = apaterno;
    }

    public String getAmaterno() {
        return amaterno;
    }

    public void setAmaterno(String amaterno) {
        this.amaterno = amaterno;
    }

    public String getEntidad_nacimiento() {
        return entidad_nacimiento;
    }

    public void setEntidad_nacimiento(String entidad_nacimiento) {
        this.entidad_nacimiento = entidad_nacimiento;
    }

    public String getLugar_nacimiento() {
        return lugar_nacimiento;
    }

    public void setLugar_nacimiento(String lugar_nacimiento) {
        this.lugar_nacimiento = lugar_nacimiento;
    }

    public LocalDate getFecha_nacimiento() {
        return fecha_nacimiento;
    }

    public void setFecha_nacimiento(LocalDate fecha_nacimiento) {
        this.fecha_nacimiento = fecha_nacimiento;
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }

    public String getCurp() {
        return curp;
    }

    public void setCurp(String curp) {
        this.curp = curp;
    }

    public String getRfc() {
        return rfc;
    }

    public void setRfc(String rfc) {
        this.rfc = rfc;
    }

    public String getEstado_civil() {
        return estado_civil;
    }

    public void setEstado_civil(String estado_civil) {
        this.estado_civil = estado_civil;
    }

    public DomicilioDTO getDomicilio_personal() {
        return domicilio_personal;
    }

    public void setDomicilio_personal(DomicilioDTO domicilio_personal) {
        this.domicilio_personal = domicilio_personal;
    }

}
