Files
myhealth/1.sources/MyHealth/src/managedbean/systemAdmin/ManageHealthCareCentersMBean.java
2019-12-29 00:48:29 +01:00

174 lines
5.5 KiB
Java

package managedbean.systemAdmin;
import java.io.IOException;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.faces.view.ViewScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Named;
import org.primefaces.event.RowEditEvent;
import org.primefaces.model.LazyDataModel;
import org.primefaces.model.SortOrder;
import TO.PrimaryHealthCareCenterTO;
import managedbean.common.ManagedBeanBase;
@Named("ManageHealthCareCenters")
@ViewScoped
public class ManageHealthCareCentersMBean extends ManagedBeanBase implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private String location;
private PrimaryHealthCareCenterTO primaryHealthCareCenter;
private LazyDataModel<PrimaryHealthCareCenterTO> lazyDataModelCAPsList;
public ManageHealthCareCentersMBean() {
}
@PostConstruct
public void init() {
this.lazyDataModelCAPsList = new LazyDataModel<PrimaryHealthCareCenterTO>() {
private static final long serialVersionUID = 1L;
@Override
public List<PrimaryHealthCareCenterTO> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
Long totalRowCount = getRemoteManagerSystemAdmin().getCAPCount();
this.setRowCount(totalRowCount.intValue());
return getRemoteManagerSystemAdmin().listCAPsPaged((first / pageSize), pageSize);
}
};
}
public LazyDataModel<PrimaryHealthCareCenterTO> getlazyDataModelCAPsList() {
return lazyDataModelCAPsList;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
private void showPrimaryHealthCareCenterData(PrimaryHealthCareCenterTO cap) {
this.primaryHealthCareCenter = cap;
if (cap == null) {
this.id = null;
this.name = "";
this.location = "";
} else {
this.id = cap.getId();
this.name = cap.getName();
this.location = cap.getLocation();
}
}
public PrimaryHealthCareCenterTO getPrimaryHealthCareCenter() {
return primaryHealthCareCenter;
}
public void setPrimaryHealthCareCenter(PrimaryHealthCareCenterTO value) {
this.primaryHealthCareCenter = value;
}
public void onRowEdit(RowEditEvent event) {
int error = 0;
if (((PrimaryHealthCareCenterTO) event.getObject()).getName() == null || ((PrimaryHealthCareCenterTO) event.getObject()).getName().trim().length() == 0) {
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Nombre no relleno", "Por favor, escriba un nombre para el centro.");
error++;
}
if (((PrimaryHealthCareCenterTO) event.getObject()).getLocation() == null || ((PrimaryHealthCareCenterTO) event.getObject()).getLocation().trim().length() == 0) {
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Localización no rellena", "Por favor, escriba una localización.");
error++;
}
if (error == 0) {
try {
this.getRemoteManagerSystemAdmin().updateHealthCareCenter(((PrimaryHealthCareCenterTO) event.getObject()).getId(), ((PrimaryHealthCareCenterTO) event.getObject()).getName(),
((PrimaryHealthCareCenterTO) event.getObject()).getLocation());
this.showPrimaryHealthCareCenterData(null);
FacesMessage msg = new FacesMessage("CAP editado", ((PrimaryHealthCareCenterTO) event.getObject()).getName());
FacesContext.getCurrentInstance().addMessage(null, msg);
} catch (Exception e) {
this.manageException(e);
}
}
}
public void onRowCancel(RowEditEvent event) {
FacesMessage msg = new FacesMessage("Edición cancelada", ((PrimaryHealthCareCenterTO) event.getObject()).getName());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void deleteDataById(Integer id) throws IOException {
try {
this.getRemoteManagerSystemAdmin().deleteHealthCareCenter(id);
this.showPrimaryHealthCareCenterData(null);
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "El CAP se ha borrado", "Los datos del Centro de Atención Primaria se han borrado correctamente.");
} catch (Exception e) {
this.manageException(e);
}
}
public void insertData() {
int error = 0;
if (name == null || name.trim().length() == 0) {
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Nombre no relleno", "Por favor, escriba un nombre para el centro.");
error++;
}
if (location == null || location.trim().length() == 0) {
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Localización no rellena", "Por favor, escriba una localización.");
error++;
}
if (this.getRemoteManagerSystemAdmin().findHealthCareCenterByName(name) != null) {
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "CAP ya existente", "El CAP ya se encuentra en la base de datos");
error++;
}
if (error == 0) {
try {
this.getRemoteManagerSystemAdmin().insertHealthCareCenter(name, location);
this.showPrimaryHealthCareCenterData(null);
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos del Centro de Atención Primaria se han guardado correctamente.");
} catch (Exception e) {
this.manageException(e);
}
}
}
}