package cz.cvut.fel.restauracefel.hibernate;
import java.util.List;
/**
* @author Tomas Hnizdil
*/
public class Discount extends DBEntity {
private static final long serialVersionUID = 2552588383482311147L;
private Integer discountId;
private DiscountType discountType;
private MenuItem menuItem;
private double amount;
private double coefficient;
private int isDeleted;
public Discount() {
}
public Discount(DiscountType discountType, MenuItem menuItem, double amount, double coefficient, int isDeleted) {
this.discountType = discountType;
this.menuItem = menuItem;
this.amount = amount;
this.coefficient = coefficient;
this.isDeleted = isDeleted;
}
public Integer getDiscountId() {
return this.discountId;
}
public void setDiscountId(Integer discountId) {
this.discountId = discountId;
}
public DiscountType getDiscountType() {
return this.discountType;
}
public void setDiscountType(DiscountType discounttype) {
this.discountType = discounttype;
}
public MenuItem getMenuItem() {
return this.menuItem;
}
public void setMenuItem(MenuItem menuItem) {
this.menuItem = menuItem;
}
public double getAmount() {
return this.amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
public double getCoefficient() {
return this.coefficient;
}
public void setCoefficient(double coefficient) {
this.coefficient = coefficient;
}
public int getIsDeleted() {
return isDeleted;
}
public void setIsDeleted(int isDeleted) {
this.isDeleted = isDeleted;
}
public void create() {
create(this);
}
public void delete() {
delete(this);
}
public void update() {
update(this);
}
public static Discount findById(Integer id) {
//return (Discount) findById("Discount", "discountId", id);
return (Discount) findByIdNotDeleted("Discount", "discountId", id, "isDeleted", 0);
}
public static List findAll() {
return findAllNotDeleted("Discount", "isDeleted", 0);
}
public static Discount findByDiscountTypeAndMenuItem(Integer discountTypeId, Integer menuItemId) {
String query = "from Discount d where d.discountType.discountTypeId = :discountTypeId and d.menuItem.menuItemId = :menuItemId and d.isDeleted = :id3";
String[] paramNames = new String[]{"discountTypeId", "menuItemId", "id3"};
String[] paramTypes = new String[]{"Integer", "Integer", "Integer"};
Integer[] paramValues = new Integer[]{discountTypeId, menuItemId, 0};
List res = executeQuery(query, paramNames, paramTypes, paramValues);
if (res == null || res.isEmpty()) {
return null;
}
return (Discount) res.get(0);
}
}