Skip to content

Commit

Permalink
Merge pull request #209 from gustavohenriquefs/feature/grupoEventosCo…
Browse files Browse the repository at this point in the history
…ntroller

Feature/grupo eventos controller
  • Loading branch information
Joao-Pedro-P-Holanda authored Dec 6, 2023
2 parents 999a4ca + a6ba5dd commit ec0d3c9
Show file tree
Hide file tree
Showing 11 changed files with 1,074 additions and 247 deletions.
77 changes: 70 additions & 7 deletions src/main/java/com/casaculturaqxd/sgec/DAO/GrupoEventosDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
import com.casaculturaqxd.sgec.models.Meta;
import com.casaculturaqxd.sgec.models.arquivo.ServiceFile;

import javafx.scene.control.Alert;

public class GrupoEventosDAO extends DAO {
private Connection connection;

Expand Down Expand Up @@ -114,11 +116,13 @@ public Optional<GrupoEventos> getGrupoEventos(GrupoEventos grupoEventos) throws
.setColaboradores(listColaboradores(grupoEventos))
.setOrganizadores(listOrganizadores(grupoEventos))
.setEventos(listEventos(grupoEventos));

if (resultFile.isPresent()) {
ServiceFile imagemCapa = resultFile.get();
imagemCapa.setContent(serviceFileDAO.getContent(imagemCapa));
grupoEventosBuilder.setImagemCapa(imagemCapa);
}

return Optional.of(grupoEventosBuilder.getGrupoEventos());
} else {
return Optional.empty();
Expand Down Expand Up @@ -314,10 +318,8 @@ public boolean updateGrupoEventos(GrupoEventos grupoEventos) throws SQLException
""";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
try {
int idImagemCapa = 0;
if (grupoEventos.getImagemCapa() != null) {
idImagemCapa = grupoEventos.getImagemCapa().getServiceFileId();
}
ServiceFile imagemCapa = getFile(grupoEventos.getImagemCapa());

preparedStatement.setString(1, grupoEventos.getNome());
preparedStatement.setString(2, grupoEventos.getDescricao());
preparedStatement.setObject(3, grupoEventos.getClassificacaoEtaria(), Types.OTHER);
Expand All @@ -327,12 +329,18 @@ public boolean updateGrupoEventos(GrupoEventos grupoEventos) throws SQLException
preparedStatement.setInt(7, grupoEventos.getNumMunicipiosEsperado());
preparedStatement.setInt(8, grupoEventos.getNumParticipantesEsperado());
preparedStatement.setInt(9, grupoEventos.getNumColaboradoresEsperado());
preparedStatement.setObject(10, idImagemCapa != 0 ? idImagemCapa : null, Types.OTHER);
preparedStatement.setObject(10, (imagemCapa!= null && imagemCapa.getServiceFileId() != null ? imagemCapa.getServiceFileId() : null), Types.OTHER);
preparedStatement.setDate(11, grupoEventos.getDataInicial());
preparedStatement.setDate(12, grupoEventos.getDataFinal());

preparedStatement.setInt(13, grupoEventos.getIdGrupoEventos());

int numAtualizacoes = preparedStatement.executeUpdate();

this.atualizarInfosGrupoEventos(grupoEventos);

this.atualizarCriarImageCapaGrupoEventos(grupoEventos);

return numAtualizacoes > 0;
} catch (Exception e) {
String nomeGrupoEventosCausa = "";
Expand All @@ -345,6 +353,58 @@ public boolean updateGrupoEventos(GrupoEventos grupoEventos) throws SQLException
}
}

private ServiceFile getFile(ServiceFile imagemCapa) throws SQLException {
ServiceFileDAO serviceFileDAO = new ServiceFileDAO(connection);

Optional<ServiceFile> optionalImagemCapa = Optional.empty();

if(imagemCapa == null || imagemCapa.getFileKey() == null) {
return imagemCapa;
}

try {
optionalImagemCapa = serviceFileDAO
.getArquivo(imagemCapa.getFileKey());

} catch (SQLException e) {
Alert mensagem = new Alert(Alert.AlertType.ERROR);

mensagem.setTitle("Erro");
mensagem.setHeaderText("Erro ao atualizar imagem de capa");

mensagem.show();
e.printStackTrace();
}

if(optionalImagemCapa.isPresent()) {
return optionalImagemCapa.get();
}

return imagemCapa;
}

private void atualizarCriarImageCapaGrupoEventos(GrupoEventos grupoEventos) throws SQLException {
ServiceFileDAO serviceFileDAO = new ServiceFileDAO(connection);

if (grupoEventos.getImagemCapa() != null) {
if (grupoEventos.getImagemCapa().getServiceFileId() == null) {

} else {
serviceFileDAO.vincularArquivo(
grupoEventos.getImagemCapa().getServiceFileId(),
grupoEventos.getIdGrupoEventos()
);
}
}
}

private void atualizarInfosGrupoEventos(GrupoEventos grupoEventos) throws SQLException {
this.atualizarColaboradores(grupoEventos.getColaboradores(), grupoEventos);
this.atualizarOrganizadores(grupoEventos.getOrganizadores(), grupoEventos);
this.atualizarEventos(grupoEventos.getEventos(), grupoEventos);
this.atualizarMetas(grupoEventos.getMetas(), grupoEventos);
}

public boolean deleteGrupoEventos(GrupoEventos grupoEventos) throws SQLException {
String sql = "DELETE FROM grupo_eventos WHERE id_grupo_eventos = ?";
PreparedStatement statement = connection.prepareStatement(sql);
Expand All @@ -370,6 +430,7 @@ public boolean atualizarEventos(ArrayList<Evento> eventos, GrupoEventos grupoEve
ArrayList<Evento> eventosAtuais = listEventos(grupoEventos);

try {
if(eventos == null) eventos = new ArrayList<>();
// adicionando eventos que nao estao registrados
for (Evento evento : eventos) {
if (!eventosAtuais.contains(evento)) {
Expand All @@ -379,6 +440,8 @@ public boolean atualizarEventos(ArrayList<Evento> eventos, GrupoEventos grupoEve
}
}
}

if(eventosAtuais == null) eventosAtuais = new ArrayList<>();
// removendo eventos que estao na lista nova e nao na antiga
for (Evento evento : eventosAtuais) {
if (!eventos.contains(evento)) {
Expand Down Expand Up @@ -578,4 +641,4 @@ public boolean desvincularMeta(Meta meta, GrupoEventos grupoEventos) throws SQLE
MetaDAO metaDAO = new MetaDAO(connection);
return metaDAO.desvincularGrupoEventos(meta.getIdMeta(), grupoEventos.getIdGrupoEventos());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,7 @@ private void loadTable(TableView<Indicador> tabela) {
@Override
public void handle(TableColumn.CellEditEvent<Indicador, Integer> t) {
((Indicador) t.getTableView().getItems().get(t.getTablePosition().getRow()))
.setValorEsperado(t.getNewValue());
.setValorEsperado(t.getNewValue());
}
});
TableColumn<Indicador, Integer> valorAlcancado = new TableColumn<>("Valor alcançado");
Expand Down
Loading

0 comments on commit ec0d3c9

Please sign in to comment.