package gcom.gui.cadastro.projeto;
import gcom.cadastro.cliente.Cliente;
import gcom.cadastro.projeto.Projeto;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.util.Util;
import java.math.BigDecimal;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class AtualizarProjetoAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
// Seta Retorno (Forward = Sucesso)
ActionForward retorno = actionMapping.findForward("telaSucesso");
// Form
AtualizarProjetoForm form = (AtualizarProjetoForm) actionForm;
// Fachada
Fachada fachada = Fachada.getInstancia();
// Sess�o
HttpSession sessao = httpServletRequest.getSession(false);
if(form.getObservacao() != null &&
form.getObservacao().length() > 300){
String[] msg = new String[2];
msg[0]="Observa��o";
msg[1]="300";
throw new ActionServletException("atencao.execedeu_limit_observacao",null,msg);
}
Date inicioProjeto = Util.converteStringParaDate(form.getDataInicio());
Projeto projeto = new Projeto(form.getNome(), inicioProjeto);
Integer idProjeto = (Integer) sessao.getAttribute("idProjeto");
projeto.setId(idProjeto);
if (form.getDataFim() != null && !form.getDataFim().equals("")) {
Date fimProjeto = Util.converteStringParaDate(form.getDataFim());
projeto.setDataFim(fimProjeto);
}
if(form.getNomeAbreviado()!=null
&& !form.getNomeAbreviado().equals("")){
projeto.setNomeAbreviado(form.getNomeAbreviado());
}
if(form.getIdOrgaoFinanciador()!=null
&& !form.getIdOrgaoFinanciador().equals("")){
//CRIA OBJETO DO CLIENTE ORGAO FINANCIADOR
Cliente orgaoFinanciador = new Cliente();
orgaoFinanciador.setId(new Integer(form.getIdOrgaoFinanciador()));
projeto.setOrgaoFinanciador(orgaoFinanciador);
}
if(form.getValorFinanciamento()!=null
&& !form.getValorFinanciamento().equals("")){
BigDecimal valorFinanciamento = new BigDecimal(
form.getValorFinanciamento().replace(".","").replace(",","."));
projeto.setValorFinanciamento(valorFinanciamento);
}
if(form.getObservacao()!=null
&& !form.getObservacao().equals("")){
projeto.setObservacao(form.getObservacao());
}
projeto.setUltimaAlteracao(new Date());
fachada.atualizar(projeto);
// Monta a p�gina de sucesso
montarPaginaSucesso(httpServletRequest, "Projeto " + projeto.getNome()
+ " atualizado com sucesso.",
"Realizar outra manuten��o de Projeto.",
"exibirFiltrarProjetoAction.do?menu=sim");
return retorno;
}
}