Copy private String passwordnewrepeat;
private Boolean esbodega = false;
private Boolean estienda = true;
private Boolean esganga = false;
Tienda tienda = new Tienda();
Bodega bodega = new Bodega();
Ganga ganga = new Ganga();
@Inject
TiendaRepository tiendaRepository;
@Inject
BodegaRepository bodegaRepository;
@Inject
GangaRepository gangaRepository;
@Inject
BodegaServices bodegaServices;
@Inject
TiendaServices tiendaServices;
@Inject
GangaServices gangaServices;
@PostConstruct
public void init() {
try {
esbodega = false;
estienda = false;
esganga = false;
String action = loginController.get("chofer");
String id = loginController.get("idchofer");
String pageSession = loginController.get("pagechofer");
//Search
loginController.put("searchchofer", "_init");
writable = false;
choferList = new ArrayList<>();
choferFiltered = new ArrayList<>();
chofer = new Chofer();
choferDataModel = new ChoferDataModel(choferList);
tienda = new Tienda();
ganga = new Ganga();
bodega = new Bodega();
if (id != null) {
Optional<Chofer> optional = choferRepository.find("idchofer", id);
if (optional.isPresent()) {
chofer = optional.get();
// chofer.setPassword(JsfUtil.desencriptar(chofer.getIdchofer()));
estienda = false;
esbodega = false;
esganga = false;
switch (chofer.getTipoalmacen().toLowerCase()) {
case "tienda":
tienda = choferServices.findTienda(chofer);
estienda = true;
almacen = "tienda";
almacenLabel = "Tienda";
break;
case "bodega":
bodega = choferServices.findBodega(chofer);
esbodega = true;
almacenLabel = "Bodega";
almacen = "bodega";
break;
case "ganga":
almacenLabel = "Ganga";
almacen = "Ganga";
ganga = choferServices.findGanga(chofer);
esganga = true;
break;
default:
break;
}
choferSelected = chofer;
writable = true;
}
}
if (action != null && action.equals("gonew")) {
chofer = new Chofer();
choferSelected = chofer;
writable = false;
}
if (pageSession != null) {
page = Integer.parseInt(pageSession);
}
Integer c = choferRepository.sizeOfPage(rowPage);
page = page > c ? c : page;
move();
} catch (Exception e) {
JsfUtil.errorMessage("init() " + e.getLocalizedMessage());
}
}
@Override
public String prepare(String action, Object... item) {
String url = "";
try {
loginController.put("pagechofer", page.toString());
loginController.put("chofer", action);
switch (action) {
case "new":
chofer = new Chofer();
choferSelected = new Chofer();
writable = false;
break;
case "view":
if (item.length != 0) {
choferSelected = (Chofer) item[0];
chofer = choferSelected;
estienda = false;
esbodega = false;
esganga = false;
switch (chofer.getTipoalmacen().toLowerCase()) {
case "tienda":
tienda = choferServices.findTienda(chofer);
estienda = true;
break;
case "bodega":
bodega = choferServices.findBodega(chofer);
esbodega = true;
break;
case "ganga":
ganga = choferServices.findGanga(chofer);
esganga = true;
break;
default:
break;
}
loginController.put("idchofer", chofer.getIdchofer());
}
url = "/pages/chofer/view.xhtml";
break;
case "golist":
url = "/pages/chofer/list.xhtml";
break;
case "gonew":
url = "/pages/chofer/new.xhtml";
break;
}
} catch (Exception e) {
JsfUtil.errorMessage("prepare() " + e.getLocalizedMessage());
}
return url;
}
@Override
public String save() {
try {
Optional<Chofer> optional = choferRepository.findById(chofer);
if (optional.isPresent()) {
JsfUtil.warningMessage(rf.getAppMessage("warning.idexist"));
return null;
}
if (estienda) {
chofer.setTipoalmacen("tienda");
chofer.setIdalmacen(tienda.getIdtienda());
} else {
if (esbodega) {
chofer.setTipoalmacen("bodega");
chofer.setIdalmacen(bodega.getIdbodega());
} else {
if (esganga) {
chofer.setTipoalmacen("ganga");
chofer.setIdalmacen(ganga.getIdganga());
} else {
JsfUtil.warningMessage(rf.getMessage("warning.seleccioneubicacion"));
return "";
}
}
}
chofer.setUserInfo(userInfoServices.generateListUserinfo(loginController.getUsername(), "create"));
if (choferRepository.save(chofer)) {
revisionHistoryStoreejbRepository.save(revisionHistoryServices.getRevisionHistory(chofer.getIdchofer(), loginController.getUsername(),
"create", "chofer", choferRepository.toDocument(chofer).toString()));
JsfUtil.successMessage(rf.getAppMessage("info.save"));
reset();
} else {
JsfUtil.successMessage("save() " + choferRepository.getException().toString());
}
} catch (Exception e) {
JsfUtil.errorMessage("save()" + e.getLocalizedMessage());
}
return "";
}
@Override
public String edit() {
try {
// chofer.setPassword(JsfUtil.encriptar(chofer.getPassword()));
if (estienda) {
chofer.setTipoalmacen("tienda");
chofer.setIdalmacen(tienda.getIdtienda());
} else {
if (esbodega) {
chofer.setTipoalmacen("bodega");
chofer.setIdalmacen(bodega.getIdbodega());
} else {
if (esganga) {
chofer.setTipoalmacen("ganga");
chofer.setIdalmacen(ganga.getIdganga());
} else {
JsfUtil.warningMessage(rf.getMessage("warning.seleccioneubicacion"));
return "";
}
}
}
chofer.getUserInfo().add(userInfoServices.generateUserinfo(loginController.getUsername(), "update"));
//guarda el contenido anterior
//guarda el contenido actualizado
revisionHistoryStoreejbRepository.save(revisionHistoryServices.getRevisionHistory(chofer.getIdchofer(), loginController.getUsername(),
"update", "chofer", choferRepository.toDocument(chofer).toString()));
choferRepository.update(chofer);
JsfUtil.successMessage(rf.getAppMessage("info.update"));
} catch (Exception e) {
JsfUtil.errorMessage("edit()" + e.getLocalizedMessage());
}
return "";
}
public String nombreLugar(Chofer chofer) {
String lugar = "";
try {
switch (chofer.getTipoalmacen().toLowerCase()) {
case "tienda":
Tienda tienda = choferServices.findTienda(chofer);
lugar = tienda.getTienda();
break;
case "bodega":
Bodega bodega = choferServices.findBodega(chofer);
lugar = bodega.getIdbodega();
break;
case "ganga":
Ganga ganga = choferServices.findGanga(chofer);
lugar = ganga.getGanga();
break;
default:
break;
}
} catch (Exception e) {
JsfUtil.errorMessage("");
}
return lugar;
}