package gcom.gui.cadastro.localidade; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.FiltroCliente; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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 AtualizarGerenciaRegionalAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); AtualizarGerenciaRegionalActionForm atualizarGerenciaRegionalActionForm = (AtualizarGerenciaRegionalActionForm) actionForm; GerenciaRegional gerenciaRegional = (GerenciaRegional) sessao.getAttribute("gerenciaRegionalAtualizar"); gerenciaRegional.setNome(atualizarGerenciaRegionalActionForm.getNome()); gerenciaRegional.setCnpjGerenciaRegional(atualizarGerenciaRegionalActionForm.getCnpjGerenciaRegional()); gerenciaRegional.setNomeAbreviado(atualizarGerenciaRegionalActionForm.getNomeAbreviado()); gerenciaRegional.setFone(atualizarGerenciaRegionalActionForm.getTelefone()); gerenciaRegional.setRamalFone(atualizarGerenciaRegionalActionForm.getRamal()); gerenciaRegional.setFax(atualizarGerenciaRegionalActionForm.getFax()); gerenciaRegional.setEmail(atualizarGerenciaRegionalActionForm.getEmail()); Short indicadorUso = Short.decode(atualizarGerenciaRegionalActionForm.getIndicadorUso()); gerenciaRegional.setIndicadorUso(indicadorUso); Collection colecaoEnderecos = (Collection) sessao.getAttribute("colecaoEnderecos"); // O Endere�o � obrigat�rio. if (colecaoEnderecos == null || colecaoEnderecos.equals("")) { throw new ActionServletException("atencao.required", null, "Endere�o "); } Localidade endereco = (Localidade) colecaoEnderecos.iterator().next(); // Atualiza��o do Endere�o if (colecaoEnderecos != null && !colecaoEnderecos.isEmpty()) { gerenciaRegional.setLogradouroCep(endereco.getLogradouroCep()); gerenciaRegional.setLogradouroBairro(endereco.getLogradouroBairro()); gerenciaRegional.setComplementoEndereco(endereco.getComplementoEndereco()); gerenciaRegional.setNumeroImovel(endereco.getNumeroImovel()); gerenciaRegional.setEnderecoReferencia(endereco.getEnderecoReferencia()); } // Cliente if (atualizarGerenciaRegionalActionForm.getIdCliente() != null && !atualizarGerenciaRegionalActionForm.getIdCliente().equalsIgnoreCase("") ){ FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples(FiltroCliente.ID, atualizarGerenciaRegionalActionForm.getIdCliente())); Collection colecaoCliente = fachada.pesquisar(filtroCliente, Cliente.class.getName()); if (colecaoCliente != null && !colecaoCliente.isEmpty()) { Cliente cliente = (Cliente) colecaoCliente.iterator().next(); Integer clienteFuncionario = fachada.verificarClienteSelecionadoFuncionario(new Integer(atualizarGerenciaRegionalActionForm.getIdCliente())); if(clienteFuncionario == null){ throw new ActionServletException("atencao.cliente_selecionado_nao_e_funcionario"); } gerenciaRegional.setCliente(cliente); } else { throw new ActionServletException("atencao.cliente.inexistente"); } } fachada.atualizarGerenciaRegional(gerenciaRegional); montarPaginaSucesso(httpServletRequest, "Ger�ncia Regional de c�digo " + gerenciaRegional.getId().toString() + " realizada com sucesso.", "Realizar outra Manuten��o de Ger�ncia Regional", "exibirFiltrarGerenciaRegionalAction.do?menu=sim"); return retorno; } }