package gcom.gui.cadastro.tarifasocial;
import java.util.Collection;
import gcom.cadastro.imovel.Imovel;
import gcom.fachada.Fachada;
import gcom.gui.GcomAction;
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;
/**
* < <Descri��o da Classe>>
*
* @author rodrigo
*/
public class ExibirManterTarifaSocialDadosEconomiaAction extends GcomAction {
/**
* < <Descri��o do m�todo>>
*
* @param actionMapping
* Descri��o do par�metro
* @param actionForm
* Descri��o do par�metro
* @param httpServletRequest
* Descri��o do par�metro
* @param httpServletResponse
* Descri��o do par�metro
* @return Descri��o do retorno
*/
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = null;
// Pega uma instancia da sessao
HttpSession sessao = httpServletRequest.getSession(false);
// Pega uma instancia do actionform
ManterTarifaSocialActionForm manterTarifaSocialActionForm = (ManterTarifaSocialActionForm) actionForm;
String idImovel = manterTarifaSocialActionForm.getIdImovel();
String idRegistroAtendimento = manterTarifaSocialActionForm.getRegistroAtendimento();
// Verifica se foi feita a pesquisa pelo RA ou pelo im�vel e em caso de
// ter sido feita pelo im�vel seta um atributo na sess�o para bloquear
// algumas a��es do usu�rio
if (idRegistroAtendimento != null && !idRegistroAtendimento.trim().equals("")) {
sessao.removeAttribute("pesquisaImovel");
} else {
sessao.setAttribute("pesquisaImovel", true);
}
Imovel imovel = new Imovel();
imovel.setId(new Integer(idImovel));
int quantidadeEconomiasImovel = new Integer(manterTarifaSocialActionForm.getQtdeEconomias());
// Dependendo da quantidade de economias do imovel, o action ser�
// redirecionado para o
// caso de uso correspondente
Collection colecaoTarifaSocialHelper = null;
colecaoTarifaSocialHelper = Fachada.getInstancia().pesquisarDadosClienteTarifaSocial(new Integer(idImovel));
if ( colecaoTarifaSocialHelper != null ) {
quantidadeEconomiasImovel = colecaoTarifaSocialHelper.size();
}
if (quantidadeEconomiasImovel == 1) {
// Chama o caso de uso [UC0065 - Inserir Dados Tarifa Social - Uma
// Economia]
sessao.removeAttribute("colecaoClienteImovelEconomia");
retorno = actionMapping
.findForward("manterTarifaSocialDadosUmaEconomia");
} else if (quantidadeEconomiasImovel > 1) {
// Chama o caso de uso [UC0066 - Inserir Dados Tarifa Social - Mais
// de Uma Economia]
sessao.removeAttribute("clienteImovel");
sessao.removeAttribute("colecaoClienteImovel");
sessao.removeAttribute("colecaoDadosTarifaSocial");
retorno = actionMapping
.findForward("manterTarifaSocialDadosMultiplasEconomias");
}
return retorno;
}
}