package com.sc.sicanet.migracion_sicanet.DTO;

import jakarta.validation.constraints.*;

public class PrestamosSolicitudesDTO {
    @NotNull(message = "El Campo 'Tipo Solicitud' Es Requerido")
    private int tipo_solicitud;

    @NotNull(message = "El Campo 'Monto' Es Requerido")
    private Double monto_solicitado;

    @NotNull(message = "El Campo 'Meses' Es Requerido")
    private int pagares;

    @NotNull(message = "El Campo 'Interes Normal' Es Requerido")
    @DecimalMin(value = "0.0", inclusive = true, message = "El Campo 'Interes Normal' Debe Ser Mayor o Igual a 0")
    private Double interes_normal;

    @NotNull(message = "El Campo 'Interes Moratorio' Es Requerido")
    @DecimalMin(value = "0.0", inclusive = true, message = "El Campo 'Interes Moratorio' Debe Ser Mayor o Igual a 0")
    private Double interes_moratorio;

    @NotNull(message = "El Campo 'Referencia Acreditado' Es Requerido")
    private String referencia_acreditado;

    @NotNull(message = "El Campo 'Periodicidad' Es Requerido")
    private String periodicidad;

    @NotNull(message = "El Campo 'Incluir IVA' Es Requerido")
    @Pattern(regexp = "S|N", message = "El Campo 'Incluir IVA' No Es Válido, Sólo Permite Los Valores 'S' o 'N'")
    private String incluir_iva;

    @NotNull(message = "El Campo 'Tipo Cobro' Es Requerido")
    @Pattern(regexp = "SI|PI", message = "El Campo 'Tipo Cobro' No Es Válido, Sólo Permite Los Valores 'SI' o 'PI'")
    private String tipo_cobro;

    private String control_solicitud;

    /* GETTER AND SETTER */
    public String getIncluir_iva() {
        return incluir_iva;
    }

    public void setIncluir_iva(String incluir_iva) {
        this.incluir_iva = incluir_iva;
    }

    public String getTipo_cobro() {
        return tipo_cobro;
    }

    public void setTipo_cobro(String tipo_cobro) {
        this.tipo_cobro = tipo_cobro;
    }

    public int getPagares() {
        return pagares;
    }

    public void setPagares(int pagares) {
        this.pagares = pagares;
    }

    public String getPeriodicidad() {
        return periodicidad;
    }

    public void setPeriodicidad(String periodicidad) {
        this.periodicidad = periodicidad;
    }

    public int getTipo_solicitud() {
        return tipo_solicitud;
    }

    public void setTipo_solicitud(int tipo_solicitud) {
        this.tipo_solicitud = tipo_solicitud;
    }

    public Double getMonto_solicitado() {
        return monto_solicitado;
    }

    public void setMonto_solicitado(Double monto_solicitado) {
        this.monto_solicitado = monto_solicitado;
    }

    public Double getInteres_normal() {
        return interes_normal;
    }

    public void setInteres_normal(Double interes_normal) {
        this.interes_normal = interes_normal;
    }

    public Double getInteres_moratorio() {
        return interes_moratorio;
    }

    public void setInteres_moratorio(Double interes_moratorio) {
        this.interes_moratorio = interes_moratorio;
    }

    public String getReferencia_acreditado() {
        return referencia_acreditado;
    }

    public void setReferencia_acreditado(String referencia_acreditado) {
        this.referencia_acreditado = referencia_acreditado;
    }

    public String getControl_solicitud() {
        return control_solicitud;
    }

    public void setControl_solicitud(String control_solicitud) {
        this.control_solicitud = control_solicitud;
    }
}