package devopsdistilled.operp.client.stock.panes.models.impl;
import java.util.List;
import javax.inject.Inject;
import devopsdistilled.operp.client.abstracts.AbstractPaneModel;
import devopsdistilled.operp.client.stock.models.StockModel;
import devopsdistilled.operp.client.stock.panes.models.TransferStockPaneModel;
import devopsdistilled.operp.client.stock.panes.models.observers.TransferStockPaneModelObserver;
import devopsdistilled.operp.server.data.entity.items.Item;
import devopsdistilled.operp.server.data.entity.stock.Warehouse;
public class TransferStockPaneModelImpl extends
AbstractPaneModel<TransferStockPaneModelObserver> implements
TransferStockPaneModel {
@Inject
private StockModel stockModel;
private List<Item> fromWarehouseItems;
private Warehouse fromWarehouse;
private Item itemToTransfer;
private Warehouse toWarehouse;
private Long quantity;
@Override
public String getTitle() {
return "Transfer Stock";
}
@Override
public Long getQuantity() {
return quantity;
}
@Override
public void setQuantity(Long quantity) {
this.quantity = quantity;
}
@Override
public Warehouse getFromWarehouse() {
return fromWarehouse;
}
@Override
public Item getItemToTransfer() {
return itemToTransfer;
}
@Override
public Warehouse getToWarehouse() {
return toWarehouse;
}
@Override
public void setFromWarehouse(Warehouse fromWarehouse) {
this.fromWarehouse = fromWarehouse;
fromWarehouseItems = stockModel.getService().getItemsInWarehouse(
fromWarehouse.getWarehouseId());
for (TransferStockPaneModelObserver observer : observers) {
observer.updateItems(fromWarehouseItems);
}
}
@Override
public void setItemToTransfer(Item itemtoTransfer) {
this.itemToTransfer = itemtoTransfer;
}
@Override
public void setToWarehouse(Warehouse toWarehouse) {
this.toWarehouse = toWarehouse;
}
}