package gcom.gui.arrecadacao.pagamento;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.seguranca.acesso.usuario.Usuario;
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;
/**
* Action respons�vel por remover pagamentos do sistema
*
* @author Pedro Alexandre
* @date 21/03/2006
*/
public class RemoverPagamentoAction extends GcomAction {
/**
* <Breve descri��o sobre o caso de uso>
*
* <Identificador e nome do caso de uso>
*
* <Breve descri��o sobre o subfluxo>
*
* <Identificador e nome do subfluxo>
*
* <Breve descri��o sobre o fluxo secund�rio>
*
* <Identificador e nome do fluxo secund�rio>
*
* @author Pedro Alexandre
* @date 21/03/2006
*
* @param actionMapping
* @param actionForm
* @param httpServletRequest
* @param httpServletResponse
* @return
*/
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
//Recupera o form de manter pagamentos
ManterPagamentoActionForm manterPagamentoActionForm = (ManterPagamentoActionForm) actionForm;
//Recupera do form oarray comos c�digo de pagamentos selecionados para exclus�o
String[] idsPagamentos = manterPagamentoActionForm.getIdRegistrosRemocao();
//Seta o mapeamento de retorno para a tela de sucesso
ActionForward retorno = actionMapping.findForward("telaSucesso");
//Cria uma inst�ncia da fachada
Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
Usuario usuarioLogado = (Usuario) sessao.getAttribute("usuarioLogado");
//Caso o usu�rio n�o tenha selecionado nenhum pagamento pra exclus�o
//Levanta uma exce��o para o usu�rio indicando que nenhum registro foi selecionado
//Caso contr�rio chama o met�do de remover pagamentos da fachada
if (idsPagamentos == null || idsPagamentos.length == 0) {
throw new ActionServletException("atencao.registros.nao_selecionados");
}else{
fachada.removerPagamentos(idsPagamentos,usuarioLogado);
}
//Monta a p�gina de sucesso
if (retorno.getName().equalsIgnoreCase("telaSucesso")) {
montarPaginaSucesso(httpServletRequest, idsPagamentos.length +
" Pagamento(s) removido(s) com sucesso.",
"Realizar outra Manuten��o de Pagamento",
"exibirFiltrarPagamentoAction.do?tela=manterPagamento&menu=sim");
}
//Retorna o mapeamento contido na vari�vel retorno
return retorno;
}
}