/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package guimybank;

/**
 *
 * @author Verde
 */
public class ContoCorrente {
private String nome;
    private String cognome;
    private String codiceFiscale;
    private double saldo;private int numeroContoCorrente;
    //private Date dataDiNascita;
    private StringBuilder logOperazioni = new StringBuilder();

    public ContoCorrente(String nome, String cognome, String codiceFiscale, /*Date dataDiNascita,*/ double saldo) {
        this.nome = nome;
        this.cognome = cognome;
        this.codiceFiscale = codiceFiscale;
        //this.dataDiNascita = dataDiNascita;
        this.saldo = saldo;
        logOperazione("Saldo iniziale di " + saldo);
    }

    public double getSaldo() {
        return saldo;
    }

    public void versa(double quantita){
        this.saldo += quantita;
        logOperazione("Versameno di " + quantita);
    }
    
    public void preleva(double quantita) throws IllegalArgumentException {
        if (quantita > this.saldo) {
            throw new IllegalArgumentException("La quantità desiderata eccede il saldo corrente.");
        } else {
            this.saldo -= quantita;
            logOperazione("Prelievo di " + quantita);
        }
    }

    private void logOperazione(String operazione) {
        logOperazioni.append(operazione);
        logOperazioni.append("\n");
    }

    public String getLogOperazioni() {
        return logOperazioni.toString();
    }
}