/* * RealizouAction.java * * Created on January 31, 2007, 6:20 PM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package siprp.medicina.presencas.actions; import com.evolute.utils.data.IDObject; import com.evolute.utils.ui.DialogException; import java.awt.event.ActionEvent; import java.util.Arrays; import java.util.Vector; import javax.swing.AbstractAction; import siprp.clientes.ClientesDataProvider; import siprp.medicina.MedicinaDataProvider; import siprp.medicina.presencas.Presenca; import siprp.medicina.presencas.PresencasDataProvider; /** * * @author fpalma */ public class RealizouAction extends AbstractAction { protected Presenca presenca; /** Creates a new instance of RealizouAction */ public RealizouAction( Presenca presenca ) { super( "Realizou" ); this.presenca = presenca; } public void actionPerformed(ActionEvent e) { try { PresencasDataProvider provider = PresencasDataProvider.getProvider(); ClientesDataProvider clientesProvider = ( ClientesDataProvider ) ClientesDataProvider.getProvider(); MedicinaDataProvider medicinaProvider = ( MedicinaDataProvider ) MedicinaDataProvider.getProvider(); Integer trabalhadorID = medicinaProvider.getTrabalhadorIDByMarcacaoID( presenca.getID() ); Integer empresaID = clientesProvider.getEmpresaIDByTrabalhadorID( trabalhadorID ); Integer realizados[] = medicinaProvider.getDetalhesRealizadosForEstadosMarcacao( presenca.getID() ); Vector realizadosVector = new Vector(); realizadosVector.addAll( Arrays.asList( realizados ) ); IDObject validos[] = medicinaProvider.getDetalhesValidosTrabalhador( empresaID, trabalhadorID ); Vector aRealizar = new Vector(); for( int n = 0; n < validos.length; n++ ) { Integer id = validos[ n ].getID(); if( !realizadosVector.contains( id ) ) { aRealizar.add( id ); } } provider.marcarRealizado( presenca.getID(), ( Integer[] ) aRealizar.toArray( new Integer[ aRealizar.size() ] ) ); setEnabled( false ); } catch( Exception ex ) { DialogException.showExceptionMessage( ex, "Erro a marcar", true ); } } }