package cz.cvut.fel.restauracefel.server.service.controllers;
import cz.cvut.fel.restauracefel.hibernate.MenuItem;
import cz.cvut.fel.restauracefel.hibernate.Order;
import cz.cvut.fel.restauracefel.hibernate.OrderMenuItem;
import java.util.Iterator;
import java.util.List;
/**
*
* @author Jarda
* @author Tomas Hnizdil
*/
public class OrderMenuItemController {
protected static OrderMenuItemController instance = null;
protected OrderMenuItem orderMenuItem = null;
private OrderMenuItemController() {
}
public static OrderMenuItemController getInstance() {
if (instance == null) {
instance = new OrderMenuItemController();
}
return instance;
}
//vytvari zaznam o novem uzivateli
public boolean createOrderMenuItem(int menuItemId, int orderId) {
if (menuItemId != 0 && orderId != 0) {
orderMenuItem = new OrderMenuItem();
MenuItem menuItem = MenuItem.findById(menuItemId);
orderMenuItem.setMenuItem(menuItem);
Order order = Order.findById(orderId);
orderMenuItem.setOrder(order);
orderMenuItem.create();
return true;
} else {
return false;
}
}
//vraci uzivatele s danym Id
public OrderMenuItem getOrderMenuItemById(int id) {
return OrderMenuItem.findById(id);
}
//vraci vsechny uzivatele ve forme Listu
public List getAllOrderMenuItems() {
return OrderMenuItem.findAll();
}
//maze uzivatele s danym Id
public boolean deleteOrderMenuItem(int orderMenuItemId) {
orderMenuItem = OrderMenuItem.findById(orderMenuItemId);
if (orderMenuItem == null){
return false;
}
orderMenuItem.setIsDeleted(1);
return true;
}
//v podobe pole typu String navraci prijmeni vsech uzivatelu
public String[] getOrderMenuItemNames() {
List list = OrderMenuItem.findAll();
if (list == null || list.isEmpty())
return null;
String array[] = new String[list.size()];
Iterator it = list.iterator();
int i = 0;
while (it.hasNext()) {
array[i] = "Objednavka cislo "+((OrderMenuItem) it.next()).getOrderMenuItemId().toString();
i++;
}
return array;
}
/*
public String[] getUserUsernames(){
List list = User.findAll();
if (list == null || list.isEmpty())
return null;
String array[] = new String[list.size()];
Iterator it = list.iterator();
int i = 0;
while (it.hasNext()) {
array[i] = ((User) it.next()).getUsername();
i++;
}
return array;
}
//v podobe dvojrozmerneho pole typu Object navraci udaje o vsech uzivatelych'
*/
public Object[][] getOrderMenuItems() {
List<OrderMenuItem> list = OrderMenuItem.findAll();
if (list == null || list.isEmpty())
return null;
Object array[][] = new Object[list.size()][6];
int i = 0;
Iterator it = list.iterator();
while (it.hasNext()) {
OrderMenuItem a = (OrderMenuItem) it.next();
array[i][0] = a.getOrderMenuItemId();
array[i][1] = a.getMenuItem().getName();
array[i][2] = a.getOrder().getAccount().getAccountId();
array[i][3] = a.getOrder().getTime();
array[i][4] = a.getOrder().getUser().getUsername();
array[i][5] = a.getOrder().getIsPaid();
i++;
}
return array;
}
}