package dev.lions.unionflow.client.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.UUID;

public class DemandeAideDTO implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    private UUID id;
    private String numeroReference;
    private String type;
    private String titre;
    private String description;
    private String justification;
    private BigDecimal montantDemande;
    private BigDecimal montantAccorde;
    private String statut;
    private String urgence;
    private String localisation;
    private String motif;
    private UUID demandeurId;
    private String demandeur;
    private String telephone;
    private String email;
    private LocalDate dateDemande;
    private LocalDate dateLimite;
    private String responsableTraitement;
    private UUID organisationId;
    private LocalDateTime dateCreation;
    
    // Getters et Setters
    public UUID getId() { return id; }
    public void setId(UUID id) { this.id = id; }
    
    public String getNumeroReference() { return numeroReference; }
    public void setNumeroReference(String numeroReference) { this.numeroReference = numeroReference; }
    
    public String getType() { return type; }
    public void setType(String type) { this.type = type; }
    
    public String getTitre() { return titre; }
    public void setTitre(String titre) { this.titre = titre; }
    
    public String getDescription() { return description; }
    public void setDescription(String description) { this.description = description; }
    
    public String getJustification() { return justification; }
    public void setJustification(String justification) { this.justification = justification; }
    
    public BigDecimal getMontantDemande() { return montantDemande; }
    public void setMontantDemande(BigDecimal montantDemande) { this.montantDemande = montantDemande; }
    
    public BigDecimal getMontantAccorde() { return montantAccorde; }
    public void setMontantAccorde(BigDecimal montantAccorde) { this.montantAccorde = montantAccorde; }
    
    public String getStatut() { return statut; }
    public void setStatut(String statut) { this.statut = statut; }
    
    public String getUrgence() { return urgence; }
    public void setUrgence(String urgence) { this.urgence = urgence; }
    
    public String getLocalisation() { return localisation; }
    public void setLocalisation(String localisation) { this.localisation = localisation; }
    
    public String getMotif() { return motif; }
    public void setMotif(String motif) { this.motif = motif; }
    
    public UUID getDemandeurId() { return demandeurId; }
    public void setDemandeurId(UUID demandeurId) { this.demandeurId = demandeurId; }
    
    public String getDemandeur() { return demandeur; }
    public void setDemandeur(String demandeur) { this.demandeur = demandeur; }
    
    public String getTelephone() { return telephone; }
    public void setTelephone(String telephone) { this.telephone = telephone; }
    
    public String getEmail() { return email; }
    public void setEmail(String email) { this.email = email; }
    
    public LocalDate getDateDemande() { return dateDemande; }
    public void setDateDemande(LocalDate dateDemande) { this.dateDemande = dateDemande; }
    
    public LocalDate getDateLimite() { return dateLimite; }
    public void setDateLimite(LocalDate dateLimite) { this.dateLimite = dateLimite; }
    
    public String getResponsableTraitement() { return responsableTraitement; }
    public void setResponsableTraitement(String responsableTraitement) { this.responsableTraitement = responsableTraitement; }
    
    public UUID getOrganisationId() { return organisationId; }
    public void setOrganisationId(UUID organisationId) { this.organisationId = organisationId; }
    
    public LocalDateTime getDateCreation() { return dateCreation; }
    public void setDateCreation(LocalDateTime dateCreation) { this.dateCreation = dateCreation; }
}

