
package org.springframework.prospring.ticket.service;

/**
 * Reprezentuje błąd zgłaszany podczas tworzenia rezerwacji i informujący o braku niezbędnej 
 * ilości miejsc.
 */
public class NotEnoughSeatsException extends BaseApplicationException {

    public final static String ERROR_CODE = "notEnoughSeats";

    private int requested;
	
	private int available;
	
	private long classId;

    /**
     *
     * @param classId Identyfikator kategorii miejsc.
     * @param requested Ilość żądanych miejsc.
     * @param available Ilość dostępnych miejsc.
     */
	public NotEnoughSeatsException(long classId, int available, int requested) {
		super(ERROR_CODE, "Zażądano " + requested + " miejsc klasy " + classId + "; dostępne są jedynie " + available + " miejsca.");
		this.classId = classId;
		this.requested = requested;
        this.available = available;
    }
	
	public int getRequested() {
		return requested;
	}

    public int getAvailable() {
        return available;
    }

    public long getClassId() {
		return classId;
	}

}
