package gcom.gui.cadastro.localidade;
import gcom.cadastro.cliente.Cliente;
import gcom.cadastro.cliente.FiltroCliente;
import gcom.gui.GcomAction;
import gcom.util.Util;
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 ExibirInserirGerenciaRegionalAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
//Seta o retorno
ActionForward retorno = actionMapping
.findForward("exibirInserirGerenciaRegional");
//Obt�m a sess�o
HttpSession sessao = httpServletRequest.getSession(false);
InserirGerenciaRegionalActionForm inserirGerenciaRegionalActionForm = (InserirGerenciaRegionalActionForm) actionForm;
String limparForm = (String) httpServletRequest
.getParameter("limparCampos");
String removerEndereco = (String) httpServletRequest
.getParameter("removerEndereco");
String objetoConsulta = (String) httpServletRequest
.getParameter("objetoConsulta");
if (objetoConsulta != null
&& !objetoConsulta.trim().equalsIgnoreCase("")) {
switch (Integer.parseInt(objetoConsulta)) {
// Gerente Regional
case 1:
this.pesquisarCliente(inserirGerenciaRegionalActionForm);
default:
break;
}
}
if ((limparForm == null || limparForm.trim().equalsIgnoreCase("")) ||
(httpServletRequest.getParameter("desfazer") != null
&& httpServletRequest.getParameter("desfazer").equalsIgnoreCase("S"))) {
//-------------- bt DESFAZER ---------------
//Limpando o formulario
inserirGerenciaRegionalActionForm.setEmail("");
inserirGerenciaRegionalActionForm.setFax("");
inserirGerenciaRegionalActionForm.setNome("");
inserirGerenciaRegionalActionForm.setNomeAbreviado("");
inserirGerenciaRegionalActionForm.setRamal("");
inserirGerenciaRegionalActionForm.setTelefone("");
//Limpa o endere�o da sess�o
if (sessao.getAttribute("colecaoEnderecos") != null) {
sessao.removeAttribute("colecaoEnderecos");
}
sessao.removeAttribute("tipoPesquisaRetorno");
}
//Remove o endereco informado.
if (removerEndereco != null
&& !removerEndereco.trim().equalsIgnoreCase("")) {
if (sessao.getAttribute("colecaoEnderecos") != null) {
Collection enderecos = (Collection) sessao
.getAttribute("colecaoEnderecos");
if (!enderecos.isEmpty()) {
enderecos.remove(enderecos.iterator().next());
}
}
}
//devolve o mapeamento de retorno
return retorno;
}
/**
* Pesquisa Cliente
*
* @author Rafael Pinto
* @date 15/08/2006
*/
private void pesquisarCliente(InserirGerenciaRegionalActionForm form) {
FiltroCliente filtroCliente = new FiltroCliente();
filtroCliente.adicionarParametro(
new ParametroSimples(FiltroCliente.ID,
new Integer(form.getIdCliente())));
// Pesquisa de acordo com os par�metros informados no filtro
Collection colecaoCliente =
this.getFachada().pesquisar(filtroCliente,Cliente.class.getName());
// Verifica se a pesquisa retornou algum objeto para a cole��o
if (colecaoCliente != null && !colecaoCliente.isEmpty()) {
// Obt�m o objeto da cole��o pesquisada
Cliente cliente =
(Cliente) Util.retonarObjetoDeColecao(colecaoCliente);
form.setIdCliente(cliente.getId().toString());
form.setNomeCliente(cliente.getNome());
} else {
form.setIdCliente("");
form.setNomeCliente("Cliente inexistente");
}
}
}