package Modal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Pengguna implements Peminjam {
private String nama;
private String alamat;
public static int MaxKoleksiPinjaman = 20;
private ArrayList
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
public boolean adaDaftarPinjamanTerlambat(Date tanggalKembali) {
for (int i = 0; i < daftarPinjaman.size(); i++) {
if (daftarPinjaman.get(i).isTerlambat(tanggalPinjam, tanggalKembali)) {
return true;
}
}
return false;
}
public void tambahDaftarPinjaman(Koleksi kolPinjam, Date tanggalPinjam) {
Koleksi tempPinjam = kolPinjam;
if (kolPinjam.getJudul() == null) {
try {
throw new Exception("Tidak ada judul!");
} catch (Exception ex) {
Logger.getLogger(Pengguna.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (daftarPinjaman.isEmpty()) {
daftarPinjaman.add(tempPinjam);
} else {
if (daftarPinjaman.size() < MaxKoleksiPinjaman) {
if (!adaDaftarPinjamanTerlambat(tanggalPinjam)) {
kolPinjam.setTanggalPinjam(tanggalPinjam);
daftarPinjaman.add(tempPinjam);
} else {
System.out.println("Ada pinjaman terlambat");
}
} else {
System.out.println("Jumlah pinjaman sudah lebih dari : " + MaxKoleksiPinjaman);
}
}
}
public boolean adaKoleksi(Koleksi kol) {
return daftarPinjaman.contains(kol);
}
public int hitungDenda(Date tanggalPinjam) {
int result = 0;
if (adaDaftarPinjamanTerlambat(tanggalPinjam)) {
for (int i = 0; i < daftarPinjaman.size(); i++) {
result = result + daftarPinjaman.get(i).hitungDenda(tanggalPinjam);
}
return result;
} else {
return 0;
}
}
public String tampilPinjaman() {
String result = "";
if (daftarPinjaman.isEmpty()) {
result = "anda tidak pinjam apa-apa";
} else {
for (int i = 0; i < daftarPinjaman.size(); i++) {
result = result + daftarPinjaman.get(i).getJudul() + "\t" + daftarPinjaman.get(i).getTanggalPinjam() + "\n";
}
}
return result;
}
public void kembalikanPinjaman(Koleksi kol) throws Exception {
if(daftarPinjaman.size()== 0){
throw new Exception ("Anda belum pinjam sama sekali");
}
Date now = Calendar.getInstance().getTime();
try {
kol.setTanggalKembali(now);
} catch (Exception ex) {
Logger.getLogger(Pengguna.class.getName()).log(Level.SEVERE, null, ex);
}
if (daftarPinjaman.isEmpty()) {
throw new Exception ("Tidak Pinjam !!");
} else {
if (adaKoleksi(kol)) {
daftarPinjaman.remove(kol);
} else {
System.out.println("Tidak ada koleksi di daftar pinjaman");
}
}
}
public void Denda() {
throw new UnsupportedOperationException("Not supported yet.");
}
}
Tidak ada komentar:
Posting Komentar