Advertisement
Guest User

UsuarioPessoaBean.java

a guest
Nov 22nd, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.88 KB | None | 0 0
  1. package br.com.tadeudeveloper.jpahibernate.bean;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.InputStream;
  5. import java.io.InputStreamReader;
  6. import java.io.Serializable;
  7. import java.net.URL;
  8. import java.net.URLConnection;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11.  
  12. import javax.annotation.PostConstruct;
  13. import javax.faces.application.FacesMessage;
  14. import javax.faces.bean.ManagedBean;
  15. import javax.faces.bean.ViewScoped;
  16. import javax.faces.context.FacesContext;
  17. import javax.faces.event.AjaxBehaviorEvent;
  18.  
  19. import org.primefaces.model.chart.BarChartModel;
  20. import org.primefaces.model.chart.ChartSeries;
  21.  
  22. import com.google.gson.Gson;
  23.  
  24. import br.com.tadeudeveloper.jpahibernate.DAO.EmailDAO;
  25. import br.com.tadeudeveloper.jpahibernate.DAO.UsuarioDAO;
  26. import br.com.tadeudeveloper.jpahibernate.model.Email;
  27. import br.com.tadeudeveloper.jpahibernate.model.UsuarioPessoa;
  28.  
  29. @ManagedBean(name = "usuarioPessoaBean")
  30. @ViewScoped
  31. public class UsuarioPessoaBean implements Serializable {       
  32.    
  33.     private static final long serialVersionUID = 1L;
  34.    
  35.     private UsuarioPessoa usuarioPessoa = new UsuarioPessoa();
  36.     private List<UsuarioPessoa> listUsuarioPessoa = new ArrayList<>();
  37.     private UsuarioDAO<UsuarioPessoa> usuarioDAO = new UsuarioDAO<>();
  38.     private EmailDAO<Email> emailDAO = new EmailDAO<>();
  39.     private BarChartModel barChartModel = new BarChartModel();
  40.     private Boolean novoUsuario;
  41.     private Email email = new Email();
  42.    
  43.     @PostConstruct
  44.     public void init() {
  45.         barChartModel = new BarChartModel();
  46.         listUsuarioPessoa = usuarioDAO.listar(UsuarioPessoa.class);
  47.         novoUsuario = true;    
  48.    
  49.         ChartSeries userSalario = new ChartSeries();    // Grupo de funcionários      
  50.         for (UsuarioPessoa usuarioPessoa : listUsuarioPessoa) { // add salário para o grupo
  51.             userSalario.set(usuarioPessoa.getNome(), usuarioPessoa.getSalario()); // add salários
  52.         }
  53.         barChartModel.addSeries(userSalario); // add o grupo
  54.         barChartModel.setTitle("Gráfico de Salários");
  55.     }
  56.    
  57.     public void pesquisaCep(AjaxBehaviorEvent event) {
  58.         try {
  59.             URL url = new URL("https://viacep.com.br/ws/" + usuarioPessoa.getCep() + "/json/");
  60.             URLConnection connection = url.openConnection();
  61.             InputStream is = connection.getInputStream();
  62.             BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
  63.            
  64.             String cep = "";
  65.             StringBuilder jsonCep = new StringBuilder();
  66.            
  67.             while((cep = br.readLine()) != null) {
  68.                 jsonCep.append(cep);
  69.             }
  70.            
  71.             UsuarioPessoa userCepPessoa = new Gson().fromJson(jsonCep.toString(), UsuarioPessoa.class);
  72.            
  73.             usuarioPessoa.setCep(userCepPessoa.getCep());
  74.             usuarioPessoa.setLogradouro(userCepPessoa.getLogradouro());
  75.             usuarioPessoa.setComplemento(userCepPessoa.getComplemento());
  76.             usuarioPessoa.setBairro(userCepPessoa.getBairro());
  77.             usuarioPessoa.setLocalidade(userCepPessoa.getLocalidade());
  78.             usuarioPessoa.setUf(userCepPessoa.getUf());
  79.             usuarioPessoa.setUnidade(userCepPessoa.getUnidade());
  80.             usuarioPessoa.setIbge(userCepPessoa.getIbge());
  81.             usuarioPessoa.setGia(userCepPessoa.getGia());
  82.            
  83.         } catch (Exception e) {
  84.             e.printStackTrace();
  85.         }
  86.     }  
  87.    
  88.     public void addEmail() {
  89.         email.setUsuarioPessoa(usuarioPessoa);
  90.         email = emailDAO.updateMerge(email);
  91.         usuarioPessoa.getEmails().add(email);
  92.         email = new Email();
  93.         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
  94.             FacesMessage.SEVERITY_INFO, "Sucesso", "E-mail salvo com sucesso!"));
  95.     }
  96.    
  97.     public void removerEmail() throws Exception {
  98.         String idEmail = FacesContext.getCurrentInstance().getExternalContext()
  99.             .getRequestParameterMap().get("idEmail");
  100.         Email email = new Email();
  101.         email.setId(Long.parseLong(idEmail));
  102.         emailDAO.deletarPorId(email);
  103.         usuarioPessoa.getEmails().remove(email);
  104.         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
  105.                 FacesMessage.SEVERITY_INFO, "Sucesso", "E-mail removido com sucesso!"));
  106.     }
  107.    
  108.     public UsuarioPessoa getUsuarioPessoa() {
  109.         return usuarioPessoa;
  110.     }
  111.    
  112.     public void setUsuarioPessoa(UsuarioPessoa usuarioPessoa) {
  113.         this.usuarioPessoa = usuarioPessoa;
  114.     }
  115.    
  116.     public String salvar() {
  117.         usuarioDAO.salvar(usuarioPessoa);
  118.         if (novoUsuario)
  119.             listUsuarioPessoa.add(usuarioPessoa);
  120.         novoUsuario = false;
  121.         usuarioPessoa = new UsuarioPessoa();
  122.         init();
  123.         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Informação: ", "Salvo com sucesso!"));
  124.         return "";
  125.     }
  126.    
  127.     public String novo() {
  128.         usuarioPessoa = new UsuarioPessoa();
  129.         novoUsuario = true;
  130.         return "";
  131.     }
  132.    
  133.     public String editar() {       
  134.         novoUsuario = false;
  135.         return "";
  136.     }
  137.    
  138.     public String atualizarGrafico(String outcome) {
  139.         return outcome + "?faces-redirect?true";
  140.     }
  141.    
  142.     public List<UsuarioPessoa> getListUsuarioPessoa() {    
  143.         return listUsuarioPessoa;
  144.     }
  145.    
  146.     public String remover() {
  147.         try {
  148.             usuarioDAO.removerUsuario(usuarioPessoa);
  149.             listUsuarioPessoa.remove(usuarioPessoa);
  150.             usuarioPessoa = new UsuarioPessoa();
  151.             init();
  152.             FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Informação: ", "Removido com sucesso!"));
  153.            
  154.         } catch (Exception e) {
  155.             if(e.getCause() instanceof org.hibernate.exception.ConstraintViolationException) {
  156.                 new FacesMessage(FacesMessage.SEVERITY_INFO, "Informação", "Não pode ser removido! Existem telefones para o usuário!");
  157.             } else {
  158.                 e.printStackTrace();
  159.             }
  160.         }
  161.         return "";     
  162.     }
  163.  
  164.     public BarChartModel getBarChartModel() {
  165.         return barChartModel;
  166.     }
  167.  
  168.     public void setBarChartModel(BarChartModel barChartModel) {
  169.         this.barChartModel = barChartModel;
  170.     }
  171.  
  172.     public Boolean getNovoUsuario() {
  173.         return novoUsuario;
  174.     }
  175.  
  176.     public void setNovoUsuario(Boolean novoUsuario) {
  177.         this.novoUsuario = novoUsuario;
  178.     }      
  179.    
  180.     public void setEmail(Email email) {
  181.         this.email = email;
  182.     }
  183.    
  184.     public Email getEmail() {
  185.         return email;
  186.     }
  187.    
  188. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement