br.com.projetotcc.controller.ProjetoController.java Source code

Java tutorial

Introduction

Here is the source code for br.com.projetotcc.controller.ProjetoController.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.projetotcc.controller;

import br.com.projetotcc.dao.ProjetoDao;
import br.com.projetotcc.dao.TipoprojetoDao;
import br.com.projetotcc.model.Projeto;
import br.com.projetotcc.model.TipoProjeto;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

/**
 *
 * @author leoja
 */
@Controller
@Transactional
public class ProjetoController {

    @Autowired
    private ProjetoDao projetoDao;

    @Autowired
    private TipoprojetoDao tipoDao;

    Locale locale = Locale.getDefault();
    SimpleDateFormat formato_data = new SimpleDateFormat("dd/MM/yyyy", locale);

    public Date formatarData(String data) {
        try {
            return (Date) formato_data.parse(data);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    @RequestMapping("/")
    public ModelAndView index() {
        ModelAndView modelAndView = new ModelAndView("index");
        modelAndView.addObject("projetos", projetoDao.list());
        return modelAndView;
    }

    @RequestMapping("/projeto")
    public ModelAndView projeto() {
        ModelAndView model = new ModelAndView("projeto");
        model.addObject("tipos", tipoDao.list());
        return model;
    }

    @RequestMapping("/novoprojeto")
    public ModelAndView saveProjeto(HttpServletRequest request) {
        Projeto projeto = new Projeto();
        projeto.setNome(request.getParameter("nome"));
        projeto.setDescricao(request.getParameter("descricao"));
        projeto.setData_inicio(formatarData(request.getParameter("data_inicio")));
        projeto.setData_fim(formatarData(request.getParameter("data_fim")));
        projeto.setTipo(tipoDao.getTipoProjeto(Integer.parseInt(request.getParameter("tipo"))));
        projetoDao.save(projeto);
        return new ModelAndView("redirect:");
    }

    @RequestMapping("/detalhesprojeto")
    public ModelAndView getProjeto(HttpServletRequest request) {
        ModelAndView model = new ModelAndView("detalhesprojeto");
        int id = Integer.parseInt(request.getParameter("id"));
        model.addObject("projeto", projetoDao.getProjeto(id));
        return model;
    }

    @RequestMapping("/editarprojeto")
    public ModelAndView editarProjeto(HttpServletRequest request) {
        ModelAndView model = new ModelAndView("editarprojeto");
        int id = Integer.parseInt(request.getParameter("id"));
        Projeto projeto = projetoDao.getProjeto(id);
        List<TipoProjeto> tipos = tipoDao.list();
        tipos.remove(projeto.getTipo());
        tipos.add(0, projeto.getTipo());
        model.addObject("projeto", projeto);
        model.addObject("tipos", tipos);

        return model;
    }

    @RequestMapping("/updateprojeto")
    public ModelAndView updateProjeto(HttpServletRequest request) {
        Projeto projeto = new Projeto();
        projeto.setId(Integer.parseInt(request.getParameter("id")));
        projeto.setNome(request.getParameter("nome"));
        projeto.setDescricao(request.getParameter("descricao"));
        projeto.setData_inicio(formatarData(request.getParameter("data_inicio")));
        projeto.setData_fim(formatarData(request.getParameter("data_fim")));
        projeto.setTipo(tipoDao.getTipoProjeto(Integer.parseInt(request.getParameter("tipo"))));
        projetoDao.updateProjeto(projeto);
        return new ModelAndView("redirect:");
    }

    @RequestMapping("/deleteprojeto")
    public ModelAndView deleteProjeto(HttpServletRequest request) {
        int id = Integer.parseInt(request.getParameter("id"));
        Projeto p = projetoDao.getProjeto(id);
        projetoDao.deleteProjeto(p);
        return new ModelAndView("redirect:");
    }
}