<commit_before>package br.edu.ifpb.tcc.bean;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.faces.context.Flash;

import br.edu.ifpb.tcc.dao.DiscenteDAO;
import br.edu.ifpb.tcc.dao.DocenteDAO;
import br.edu.ifpb.tcc.dao.TccDAO;
import br.edu.ifpb.tcc.entity.Discente;
import br.edu.ifpb.tcc.entity.Docente;
import br.edu.ifpb.tcc.entity.Tcc;
import br.edu.ifpb.tcc.entity.Tipo;
import br.edu.ifpb.tcc.entity.Usuario;

@ManagedBean
@RequestScoped
public class TccBean {
	
	@ManagedProperty(value="#{loginBean}")
	private LoginBean login;
	private List<Tcc> tccs;
	private Tcc tcc;
	private Usuario orientador;
	private String titulo;
	private Discente discente;
    private boolean excluir;
	private TccDAO tccDao = new TccDAO();
	private DiscenteDAO discenteDao = new DiscenteDAO();
	private DocenteDAO docenteDao = new DocenteDAO();
	
	@PostConstruct
	public void init(){
		tccs = tccDao.findAll();
		tcc = new Tcc();
		orientador = new Usuario();
		discente = discenteDao.findDiscente(login.getUsuarioLogado());
	}

	public String edit(Tcc tcc) {
		Flash flash= FacesContext.getCurrentInstance().getExternalContext().getFlash();
		flash.put("titulo", tcc.getTitulo());
		flash.put("tipo", tcc.getTipo());
		flash.put("orientador", tcc.getOrientador());
		flash.put("proposta", tcc.getArquivoTCC());
		flash.put("tcc", tcc);
		return"editarTcc?faces-redirect=true";
	}
	
	public String add() {
		Tcc novo = new Tcc();
		novo.setDiscente(discente);
		novo.setOrientador(docenteDao.findDocente(this.tcc.getOrientador().getUsuario()));
		novo.setTipo(tcc.getTipo());
		novo.setTitulo(tcc.getTitulo());
		tccDao.beginTransaction();
		tccDao.insert(novo);
		discenteDao.update(discente);
		tccDao.commit();
		return "index_tcc";
	}
	
	public String update() {
		Flash flash= FacesContext.getCurrentInstance().getExternalContext().getFlash();
		Tcc tcc = new Tcc();
		String titulo = (String) flash.get("titulo");
		Docente orientador = (Docente) flash.get("orientador");
		tcc.setDiscente(discente);
		tcc.setOrientador(orientador);
		tcc.setTitulo(titulo);
		tccDao.beginTransaction();
		tccDao.update(tcc);
		discenteDao.update(discente);
		tccDao.commit();
		return "indexTcc";
	}
	
//	private Map<Integer, Boolean> checked = new HashMap<>(); 
//
//	public void delete(){
//			List<Tcc> tccs = new ArrayList<Tcc>();
//	        for (Tcc tcc : tccs) {
//	            Boolean itemChecked = checked.get(tcc.getId());
//	            if (itemChecked !=null && itemChecked) {<commit_msg>Ajustes TccBean quando salvar retornar para indexTCC<commit_after>package br.edu.ifpb.tcc.bean;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.faces.context.Flash;

import br.edu.ifpb.tcc.dao.DiscenteDAO;
import br.edu.ifpb.tcc.dao.DocenteDAO;
import br.edu.ifpb.tcc.dao.TccDAO;
import br.edu.ifpb.tcc.entity.Discente;
import br.edu.ifpb.tcc.entity.Docente;
import br.edu.ifpb.tcc.entity.Tcc;
import br.edu.ifpb.tcc.entity.Tipo;
import br.edu.ifpb.tcc.entity.Usuario;

@ManagedBean
@RequestScoped
public class TccBean {
	
	@ManagedProperty(value="#{loginBean}")
	private LoginBean login;
	private List<Tcc> tccs;
	private Tcc tcc;
	private Usuario orientador;
	private String titulo;
	private Discente discente;
    private boolean excluir;
	private TccDAO tccDao = new TccDAO();
	private DiscenteDAO discenteDao = new DiscenteDAO();
	private DocenteDAO docenteDao = new DocenteDAO();
	
	@PostConstruct
	public void init(){
		tccs = tccDao.findAll();
		tcc = new Tcc();
		orientador = new Usuario();
		discente = discenteDao.findDiscente(login.getUsuarioLogado());
	}

	public String edit(Tcc tcc) {
		Flash flash= FacesContext.getCurrentInstance().getExternalContext().getFlash();
		flash.put("titulo", tcc.getTitulo());
		flash.put("tipo", tcc.getTipo());
		flash.put("orientador", tcc.getOrientador());
		flash.put("proposta", tcc.getArquivoTCC());
		flash.put("tcc", tcc);
		return"editarTcc?faces-redirect=true";
	}
	
	public String add() {
		Tcc novo = new Tcc();
		novo.setDiscente(discente);
		novo.setOrientador(docenteDao.findDocente(this.tcc.getOrientador().getUsuario()));
		novo.setTipo(tcc.getTipo());
		novo.setTitulo(tcc.getTitulo());
		tccDao.beginTransaction();
		tccDao.insert(novo);
		discenteDao.update(discente);
		tccDao.commit();
		return "/tcc/indexTcc?faces-redirect=true";
	}
	
	public String update() {
		Flash flash= FacesContext.getCurrentInstance().getExternalContext().getFlash();
		Tcc tcc = new Tcc();
		String titulo = (String) flash.get("titulo");
		Docente orientador = (Docente) flash.get("orientador");
		tcc.setDiscente(discente);
		tcc.setOrientador(orientador);
		tcc.setTitulo(titulo);
		tccDao.beginTransaction();
		tccDao.update(tcc);
		discenteDao.update(discente);
		tccDao.commit();
		return "/tcc/indexTcc?faces-redirect=true";
	}
	
//	private Map<Integer, Boolean> checked = new HashMap<>(); 
//
//	public void delete(){
//			List<Tcc> tccs = new ArrayList<Tcc>();
//	        for (Tcc tcc : tccs) {
//	            Boolean itemChecked = checked.get(tcc.getId());
//	            if (itemChecked !=null && itemChecked) {
{'fraction_non_alphanumeric': 0.14459992823824902, 'fraction_numerical': 0.0, 'mean_word_length': 4.753353973168215, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5661785', 'n_tokens_mistral': 2163, 'n_tokens_neox': 2116, 'n_words': 366}