package bank;
import java.util.*;
public class Brugervalg
{
	/** Egenskab 'bankmodel' sættes fra JSP-siden kontrol.jsp når bønnen oprettes */
	Bankmodel bank;
	public void setBankmodel(Bankmodel b) { bank = b; }

	/** Liste over denne brugers konti */
	public ArrayList konti;

	/** Den konto, brugeren har valgt at arbejde med lige nu */
	public Kontomodel konto;

	/** Egenskab 'kontovalg' sættes fra JSP-side vaelg_konto.jsp*/
	public void setKontovalg(int nr) {
		konto = null;
		for (int i=0; i<konti.size(); i++) {
			Kontomodel k = (Kontomodel) konti.get(i);
			if (k.getId() == nr) konto = k;
		}
		if (konto==null) throw new IllegalArgumentException("Ukendt Konto-ID: "+nr);
	}

	/** Streng der beskriver en handling brugeren ønsker at udføre */
	public String handling;
	public void setHandling(String h) { handling = h; }

	/** Beløbet handlingen (hæv/sæt ind/overfør) drejer sig om */
	double handlBeløb;
	public void setBeloeb(double b) { handlBeløb = b; }

	/** Hvis der skal foretages en overførsel, hvilken konto er det til */
	Kontomodel ovfTil;

	/** Egenskab 'tilKontoId' sættes fra JSP-siden vis_konto.jsp */
	public void setTilKontoId(int nr) {
		ovfTil = null;
		for (int i=0; i<bank.konti.size(); i++) {
			Kontomodel k = (Kontomodel) bank.konti.get(i);
			if (k.getId() == nr) ovfTil = k;
		}
		if (ovfTil==null) throw new IllegalArgumentException("Ukendt Konto-ID: "+nr);
	}

	public void udførHandling()
	{
		try {
			if (handling.equals("haev"))          konto.hæv(handlBeløb);
			else if (handling.equals("saet_ind")) konto.indsæt(handlBeløb);
			else if (handling.equals("overfoer")) konto.overfør(ovfTil, handlBeløb);
			else System.out.println("Ukendt handling: "+handling);
		} finally {
			handling = null; // selv hvis noget gik helt galt skal data nulstilles
			handlBeløb = 0;
			ovfTil = null;
		}
	}
}