PlaceBeanLocal.java 3.35 KB
/*
 * Copyright Codecrew Ry
 * 
 * All rights reserved.
 * 
 * This license applies to any software containing a notice placed by the 
 * copyright holder. Such software is herein referred to as the Software. 
 * This license covers modification, distribution and use of the Software. 
 * 
 * Any distribution and use in source and binary forms, with or without 
 * modification is not permitted without explicit written permission from the 
 * copyright owner. 
 * 
 * A non-exclusive royalty-free right is granted to the copyright owner of the 
 * Software to use, modify and distribute all modifications to the Software in 
 * future versions of the Software. 
 * 
 */
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fi.codecrew.moya.beans;

import java.math.BigDecimal;
import java.util.List;

import javax.ejb.Local;

import fi.codecrew.moya.exceptions.BortalCatchableException;
import fi.codecrew.moya.model.EventMap;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.GroupMembership;
import fi.codecrew.moya.model.Place;
import fi.codecrew.moya.model.PlaceGroup;
import fi.codecrew.moya.model.Product;
import fi.codecrew.moya.model.PlaceSlot;

/**
 * 
 * @author tuukka
 */
@Local
// @RemoteDestination
public interface PlaceBeanLocal {

	Place findPlace(EventMap e, int x, int y);

	boolean reservePlace(Place place, EventUser user);

	int setBuyable(EventMap map, String buyableLike, boolean b);

	// Place find(EventPk id);

	boolean releasePlace(Place place);

	Place mergeChanges(Place place);

	PlaceGroup buySelectedPlaces(EventUser user) throws BortalCatchableException;

	// void releaseUsersPlaces(User user) throws PermissionDeniedException;

	Place find(int placeId);

	Place unbuyPlace(Place place);

	@Deprecated
	BigDecimal getTotalReservationPrice(EventUser user, Place newPlace);

	@Deprecated
	BigDecimal getTotalReservationPrice(Place newPlace);

	/**
	 * 
	 * @param width
	 *            page width in millimeters
	 * @param height
	 *            page height in millimeters
	 * @param font1
	 *            font 1 size
	 * @param font2
	 *            font 2 size
	 * @return
	 */

	byte[] generatePlacesPdf(float width, float height, double font1, double font2);

	//	public byte[] generatePlacesPdf(double width, double height, double font1, double font2);

	List<GroupMembership> matchGroupMembershipsByInviteToken(String token);

	GroupMembership findGroupMembershipsByToken(String token);

	PlaceGroup reserveSelectedPlaces(EventUser eventuser) throws BortalCatchableException;

	public Long selectablePlaceCount(EventMap activeMap);

	public EventMap findMap(Integer mapId);

	public Long availablePlaceCount(EventMap activeMap);

	public EventMap getActiveMap();

	/**
	 * Get all maps
	 * 
	 * @return
	 */
	List<EventMap> getMaps();

	/**
	 * Get all products used in map;
	 * 
	 * @param map
	 * 
	 * @return
	 */
	List<Product> getMapProducts(EventMap map);

	List<PlaceSlot> getFreePlaceslots(EventUser user, Product product);

	List<Place> findPlacePrintlistForUser(EventUser user);

	List<PlaceSlot> getFreePlaceslots(EventUser u, EventMap map);

	List<PlaceSlot> getPlaceslots(EventUser user);

	boolean lockSlot(PlaceSlot row);

	boolean releaseSlot(PlaceSlot row);

	List<EventMap> getOrganisationsMaps();

	EventMap copyMap(EventMap sourceMap, EventMap map);

	Place findByCode(String code, EventMap map);

}