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

Java tutorial

Introduction

Here is the source code for br.com.projetotcc.controller.EstimativaController.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.DesenvolvedorDao;
import br.com.projetotcc.dao.EstimativaDao;
import br.com.projetotcc.dao.FuncionalidadeDao;
import br.com.projetotcc.model.Desenvolvedor;
import br.com.projetotcc.model.Estimativa;
import br.com.projetotcc.model.Funcionalidade;
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 EstimativaController {

    @Autowired
    DesenvolvedorDao desenvolvedorDao = new DesenvolvedorDao();

    @Autowired
    private FuncionalidadeDao funcDao = new FuncionalidadeDao();

    @Autowired
    private EstimativaDao estDao = new EstimativaDao();

    Locale locale = Locale.getDefault();
    SimpleDateFormat formato_data = new SimpleDateFormat("HH:mm", locale);

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

    @RequestMapping("/estimativas")
    public ModelAndView funcionalidades() {
        ModelAndView modelAndView = new ModelAndView("estimativas");
        modelAndView.addObject("estimativas", estDao.list());
        return modelAndView;
    }

    @RequestMapping("/estimativa")
    public ModelAndView novaFuncionalidade() {
        ModelAndView modelAndView = new ModelAndView("estimativa");
        modelAndView.addObject("funcionalidades", funcDao.list());
        modelAndView.addObject("desenvolvedores", desenvolvedorDao.list());
        return modelAndView;
    }

    @RequestMapping("/novaestimativa")
    public ModelAndView saveFuncionalidade(HttpServletRequest request) {
        Estimativa est = new Estimativa();

        est.setFunc(funcDao.getFuncionalidade(Integer.parseInt(request.getParameter("func"))));
        est.setDesenvolvedor(
                desenvolvedorDao.getDesenvolvedor(Integer.parseInt(request.getParameter("desenvolvedor"))));
        est.setEstimativa(formatarData(request.getParameter("estimativa")));
        est.setTempo_gasto(formatarData(request.getParameter("tempo_gasto")));

        estDao.save(est);

        return new ModelAndView("redirect:estimativas");
    }

    @RequestMapping("/deleteestimativa")
    public ModelAndView deleteEstimativa(HttpServletRequest request) {
        Estimativa est = estDao.getEstimativa(Integer.parseInt(request.getParameter("id")));
        estDao.deleteEstimativa(est);
        return new ModelAndView("redirect:estimativas");
    }

    @RequestMapping("/detalhesestimativa")
    public ModelAndView getFuncionalidade(HttpServletRequest request) {
        ModelAndView modelAndView = new ModelAndView("detalhesestimativa");
        modelAndView.addObject("estimativa", estDao.getEstimativa(Integer.parseInt(request.getParameter("id"))));
        return modelAndView;
    }

    @RequestMapping("/editarestimativa")
    public ModelAndView editarFuncionalidade(HttpServletRequest request) {
        ModelAndView modelAndView = new ModelAndView("editarestimativa");
        Estimativa est = estDao.getEstimativa(Integer.parseInt(request.getParameter("id")));
        modelAndView.addObject("estimativa", est);
        List<Funcionalidade> funcs = funcDao.list();
        funcs.remove(est.getFunc());
        funcs.add(0, est.getFunc());
        modelAndView.addObject("funcionalidades", funcs);
        List<Desenvolvedor> desenvolvedores = desenvolvedorDao.list();
        desenvolvedores.remove(est.getDesenvolvedor());
        desenvolvedores.add(0, est.getDesenvolvedor());
        modelAndView.addObject("desenvolvedores", desenvolvedores);
        return modelAndView;
    }

    @RequestMapping("/updateestimativa")
    public ModelAndView updateFuncionalidade(HttpServletRequest request) {
        Estimativa est = new Estimativa();

        est.setId(Integer.parseInt(request.getParameter("id")));
        est.setFunc(funcDao.getFuncionalidade(Integer.parseInt(request.getParameter("func"))));
        est.setDesenvolvedor(
                desenvolvedorDao.getDesenvolvedor(Integer.parseInt(request.getParameter("desenvolvedor"))));
        est.setEstimativa(formatarData(request.getParameter("estimativa")));
        est.setTempo_gasto(formatarData(request.getParameter("tempo_gasto")));

        estDao.updateEstimativa(est);

        return new ModelAndView("redirect:estimativas");
    }
}