suite changement et correction bug
This commit is contained in:
parent
1351345df5
commit
86b93e43d5
@ -390,6 +390,7 @@ public void showGroupe(Groupe g){
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Set<Groupe> getGroupePartition(){
|
public Set<Groupe> getGroupePartition(){
|
||||||
|
this.bd.refreshGroupe(this.fenGr.getG().getPointPoint());
|
||||||
Set<Groupe> retour=new HashSet<>();
|
Set<Groupe> retour=new HashSet<>();
|
||||||
if(this.fenGr.getG().getPointPoint().getType()!=TypeGroupe.PARTITION)
|
if(this.fenGr.getG().getPointPoint().getType()!=TypeGroupe.PARTITION)
|
||||||
throw new IllegalStateException("impossible de changer un étudiant d'un groupe ne provenant pas d'une partition");
|
throw new IllegalStateException("impossible de changer un étudiant d'un groupe ne provenant pas d'une partition");
|
||||||
|
@ -29,6 +29,16 @@ public class AbstractChangementFactoryNP implements AbstractChangementFactory {
|
|||||||
this.fenetre=fenetre;
|
this.fenetre=fenetre;
|
||||||
this.brain=new HashMap<Integer,Changement>();
|
this.brain=new HashMap<Integer,Changement>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public AbstractChangementFactoryNP(AbstractGroupeFactory agf, JFrame fenetre, Set<Changement> liste){
|
||||||
|
Objects.requireNonNull(agf,"On ne peut pas créer une usine à changement dont l'usine à groupe parternaire est null");
|
||||||
|
this.agf=agf;
|
||||||
|
this.fenetre=fenetre;
|
||||||
|
this.brain=new HashMap<Integer,Changement>();
|
||||||
|
for(Changement ch:liste){
|
||||||
|
this.brain.put(ch.getId(), ch);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -85,9 +95,22 @@ public class AbstractChangementFactoryNP implements AbstractChangementFactory {
|
|||||||
*/
|
*/
|
||||||
public void deleteChangement(Changement c){
|
public void deleteChangement(Changement c){
|
||||||
Objects.requireNonNull(c,"On ne peut pas demander la suppression d'un changement qui est null");
|
Objects.requireNonNull(c,"On ne peut pas demander la suppression d'un changement qui est null");
|
||||||
|
Connection cnx=this.cnx();
|
||||||
this.brain.remove(Integer.valueOf(c.getId()));
|
try{
|
||||||
|
PreparedStatement pst=cnx.prepareStatement("DELETE FROM `Changement` where `id`=?");
|
||||||
|
pst.setInt(1, c.getId());
|
||||||
|
pst.executeUpdate();
|
||||||
|
pst.close();
|
||||||
|
}catch(SQLException er){
|
||||||
|
System.out.println(er.toString());
|
||||||
|
if(this.erreurSQL()){
|
||||||
|
this.deleteChangement(c);
|
||||||
|
}else{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.close(cnx);
|
||||||
|
this.brain.remove(c.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -109,13 +132,25 @@ public class AbstractChangementFactoryNP implements AbstractChangementFactory {
|
|||||||
this.brain.put(Integer.valueOf(c.getId()),c);
|
this.brain.put(Integer.valueOf(c.getId()),c);
|
||||||
Connection cnx=this.cnx();
|
Connection cnx=this.cnx();
|
||||||
try{
|
try{
|
||||||
PreparedStatement pst=cnx.prepareStatement("INSERT INTO `Changement` (`idGroupeA`, `idGroupeB`, `idEtudiant`) VALUES (?, ?, ?);");
|
PreparedStatement pst=cnx.prepareStatement("SELECT * FROM `Changement` where `idGroupeA`=? AND `idGroupeB`=? AND `idEtudiant`=?; ");
|
||||||
pst.setInt(1, A.getId());
|
pst.setInt(1, A.getId());
|
||||||
pst.setInt(2, B.getId());
|
pst.setInt(2, B.getId());
|
||||||
pst.setInt(3, e.getId());
|
pst.setInt(3, e.getId());
|
||||||
pst.executeUpdate();
|
if(!pst.executeQuery().next()){
|
||||||
pst.close();
|
pst.close();
|
||||||
|
pst=cnx.prepareStatement("INSERT INTO `Changement` (`idGroupeA`, `idGroupeB`, `idEtudiant`, `id`) VALUES (?, ?, ?, ?);");
|
||||||
|
pst.setInt(1, A.getId());
|
||||||
|
pst.setInt(2, B.getId());
|
||||||
|
pst.setInt(3, e.getId());
|
||||||
|
pst.setInt(4, c.getId());
|
||||||
|
pst.executeUpdate();
|
||||||
|
pst.close();
|
||||||
|
}else{
|
||||||
|
pst.close();
|
||||||
|
JOptionPane.showMessageDialog(this.fenetre, "Vous Avez deja demander a Chnager dans ce Groupe", "erreur", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
}catch(SQLException er){
|
}catch(SQLException er){
|
||||||
|
System.out.println(er.toString());
|
||||||
if(this.erreurSQL()){
|
if(this.erreurSQL()){
|
||||||
this.createChangement(A, e, B);
|
this.createChangement(A, e, B);
|
||||||
}else{
|
}else{
|
||||||
|
@ -27,6 +27,20 @@ public class ChangementNP implements Changement {
|
|||||||
this.b=b;
|
this.b=b;
|
||||||
this.e=e;
|
this.e=e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ChangementNP(Groupe a, Etudiant e, Groupe b, int id){
|
||||||
|
Objects.requireNonNull(a,"On ne peut pas créer un changement avec un groupe à quitter null");
|
||||||
|
Objects.requireNonNull(b,"On ne peut pas créer un changement avec un groupe à rejoindre null");
|
||||||
|
Objects.requireNonNull(e,"On ne peut pas créer un changement concernant un étudiant null");
|
||||||
|
|
||||||
|
this.id=id;
|
||||||
|
this.a=a;
|
||||||
|
this.b=b;
|
||||||
|
this.e=e;
|
||||||
|
if(this.id>this.nextId){
|
||||||
|
this.nextId=this.id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* permet de récupérer l'identifiant du changement (référence interne sans intérêt irl).
|
* permet de récupérer l'identifiant du changement (référence interne sans intérêt irl).
|
||||||
|
Loading…
Reference in New Issue
Block a user