コード例 #1
0
  /**
   * 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);
  }
コード例 #2
0
  /**
   * 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;
  }