package devopsdistilled.operp.client.stock.panes.controllers.impl;
import javax.inject.Inject;
import devopsdistilled.operp.client.exceptions.EntityNameExistsException;
import devopsdistilled.operp.client.exceptions.NullFieldException;
import devopsdistilled.operp.client.stock.models.WarehouseModel;
import devopsdistilled.operp.client.stock.panes.CreateWarehousePane;
import devopsdistilled.operp.client.stock.panes.controllers.CreateWarehousePaneController;
import devopsdistilled.operp.client.stock.panes.models.CreateWarehousePaneModel;
import devopsdistilled.operp.server.data.entity.stock.Warehouse;
public class CreateWareHousePaneControllerImpl implements
CreateWarehousePaneController {
@Inject
private CreateWarehousePaneModel model;
@Inject
private CreateWarehousePane view;
@Inject
private WarehouseModel warehouseModel;
@Override
public void init() {
view.init();
model.registerObserver(view);
}
@Override
public void validate(Warehouse warehouse) throws NullFieldException,
EntityNameExistsException {
if (warehouse.getWarehouseName().equals(new String(""))) {
throw new NullFieldException();
}
if (warehouseModel.getService().isWarehouseNameExists(
warehouse.getWarehouseName()))
throw new EntityNameExistsException();
}
@Override
public Warehouse save(Warehouse warehouse) {
Warehouse savedWarehouse = warehouseModel.saveAndUpdateModel(warehouse);
return savedWarehouse;
}
}