/** * Effacer un message (et ses pieces jointes si il y en a) a partir de son ID * * @param p_idMessage * @return */ public boolean deleteMessageRecu(int p_idMessage) { // on commence par effacer les piece jointe associées au message. AccesTablePieceJointe accesPJ = new AccesTablePieceJointe(); List<String> lstPieceJointe = accesPJ.getListeIdPieceJointe(p_idMessage); for (String pieceJointe : lstPieceJointe) { String requete = "DELETE FROM " + EnTable.PIECE_JOINTE.getNomTable() + " WHERE " + EnStructPieceJointe.ID.getNomChamp() + "='" + pieceJointe + "'"; requeteFact.executeRequete(requete); } // on peut ensuite supprimer les messages String requetteMessage = "DELETE FROM " + EnTable.MAIL_RECU.getNomTable() + " WHERE " + EnStructMailRecu.ID_MESSAGE.getNomChamp() + "=" + p_idMessage; return requeteFact.executeRequete(requetteMessage); }
/** * Obtenir une liste des messages contenu dans un {@link MlDossier} * * @param p_idCompte * @param p_idDossierChoisi * @return la lsite des messages */ public MlListeMessage getListeDeMessage(int p_idCompte, int p_idDossierChoisi) { AccesTablePieceJointe accesPJ = new AccesTablePieceJointe(); MlListeMessage lstMessage = new MlListeMessage(); String requette = "SELECT " // + EnStructMailRecu.ID_MESSAGE.getNomChamp() + ", " // idx0 + EnStructMailRecu.UID.getNomChamp() + ", " // idx1 + EnStructMailRecu.EXPEDITEUR.getNomChamp() + ", " // idx2 + EnStructMailRecu.DEST.getNomChamp() + ", " + EnStructMailRecu.DEST_COPY.getNomChamp() + ", " + EnStructMailRecu.DEST_CACHE.getNomChamp() + ", " // idx // 3,4,5 + EnStructMailRecu.SUJET.getNomChamp() + ", " // idx6 // + EnStructMailRecu.CONTENU.getNomChamp() // + ", " // idx7 + EnStructMailRecu.DATE_RECEPTION.getNomChamp() // idx8 + ", " + EnStructMailRecu.STATUT.getNomChamp() + " FROM " + EnTable.MAIL_RECU.getNomTable() // + " where " + EnStructMailRecu.ID_COMPTE.getNomChamp() + "=" + p_idCompte + " and " + EnStructMailRecu.ID_DOSSIER.getNomChamp() + "=" + p_idDossierChoisi + " ORDER BY " + EnStructMailRecu.DATE_RECEPTION.getNomChamp() + " DESC"; List<ArrayList<String>> lstResultat = requeteFact.getListeDenregistrement(requette); for (int i = 0; i < lstResultat.size(); i++) { ArrayList<String> unEnregistrement = lstResultat.get(i); MlMessage m = new MlMessage(); m.setIdMessage(Integer.parseInt(unEnregistrement.get(0))); m.setUIDMessage(unEnregistrement.get(1)); m.setExpediteur(decodeHTMLFromBase(unEnregistrement.get(2))); if (unEnregistrement.get(3) != null) { // DESTINATAIRE String[] tabDestinaire = unEnregistrement.get(3).split(";"); ArrayList<String> lstDest = new ArrayList<String>(); for (String des : tabDestinaire) { lstDest.add(des); } m.setDestinataire(lstDest); } if (unEnregistrement.get(4) != null) { // DESTINATAIRE COPY String[] tabDestinaire = unEnregistrement.get(4).split(";"); ArrayList<String> lstDest = new ArrayList<String>(); for (String des : tabDestinaire) { lstDest.add(des); } m.setDestinataireCopy(lstDest); } if (unEnregistrement.get(5) != null) { // DESTINATAIRE CACHE String[] tabDestinaire = unEnregistrement.get(5).split(";"); ArrayList<String> lstDest = new ArrayList<String>(); for (String des : tabDestinaire) { lstDest.add(des); } m.setDestinataireCache(lstDest); } m.setSujet(decodeHTMLFromBase(unEnregistrement.get(6))); // m.setContenu(unEnregistrement.get(7)); m.setDateReception(RecupDate.getdateFromTimeStamp((unEnregistrement.get(7)))); m.setLu((unEnregistrement.get(8).equals("T"))); m.setIdDossier(p_idDossierChoisi); m.setIdCompte(p_idCompte); m.setHavePieceJointe(accesPJ.getListeIdPieceJointe(m.getIdMessage()).size() > 0); lstMessage.add(m); } return lstMessage; // return null; }