Subversion Repositories eFlore/Applications.coel

Rev

Rev 748 | Blame | Last modification | View Log | RSS feed

package org.tela_botanica.client.modeles;

import java.util.Date;
import java.util.Iterator;
import java.util.Set;

import org.tela_botanica.client.util.UtilString;

import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.json.client.JSONObject;

public class Personne extends aDonnee {

        private static final long serialVersionUID = -6974716696155349332L;

        public static final String PREFIXE = "cp";
        public static final String TELEPHONE_FIXE = "FIX";
        public static final String TELEPHONE_GSM = "GSM";
        public static final String TELEPHONE_FAX = "FAX";
        
        public Personne() {
        }
        
        public Personne(JSONObject personne) {
                initialiserModele(personne);
                //Ajout du champ courriel principal
                this.set("courriel_princ", this.getInfoDenormaliseParPosition(this.renvoyerValeurCorrecte("truk_courriel"), 1));
        }
        
        @Override
        protected String getPrefixe() {
                return PREFIXE;
        }
        
        // ID PERSONNE
        public String getId() {
                return renvoyerValeurCorrecte("id_personne");
        }
        
        // ID PROJET
        public String getIdProjet() {
                return renvoyerValeurCorrecte("ce_projet");
        }
        
        // NOM COMPLET
        public String getNomComplet() {
                return renvoyerValeurCorrecte("fmt_nom_complet");
        }
        
        // NOM
        public String getNom() {
                return renvoyerValeurCorrecte("nom");
        }
        
        // PRÉNOM
        public String getPrenom() {
                return renvoyerValeurCorrecte("prenom");
        }
        
        public Date getDate(String nomChamp)    {
                
                String strDate = renvoyerValeurCorrecte(nomChamp);
                
                Date dateRetour = null;
                try
                {
                        if ((strDate != null) && (!strDate.equals("0000-00-00"))) {
                                dateRetour = DateTimeFormat.getFormat("yyyy-MM-dd").parseStrict(strDate);
                        }
                } catch (StringIndexOutOfBoundsException e)     {
                        GWT.log("Impossible de parser la date " + strDate, e);
                }
                return dateRetour;              
        }
        
        // TÉLÉPHONE
        public String getTelephone() {
                return renvoyerValeurCorrecte("truk_telephone");
        }
        public void setTelephone(String t) {
                this.set("truk_telephone", t);
        }
        public void ajouterTelephone(String type, Object valeur) {
                ajouterChaineDenormaliseAvecType("truk_telephone", type, valeur);
        }
        public String selectionnerTelephone(String type) {
                return getInfoDenormaliseParType(renvoyerValeurCorrecte("truk_telephone"), type);
        }
        
        // FAX
        public String getFax() {
                return renvoyerValeurCorrecte("truk_fax");
        }
        public void setFax(String f) {
                this.set("truk_fax", f);
        }
        public void ajouterFax(Object valeur) {
                ajouterChaineDenormalise("truk_fax", valeur);
        }
        public String selectionnerFax(int position) {
                return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_fax"), position);
        }
        
        // COURRIEL
        public String getCourriel() {
                return renvoyerValeurCorrecte("truk_courriel");
        }
        public void setCourriel(String c) {
                this.set("truk_courriel", c);
        }
        public void ajouterCourriel(String c) {
                ajouterChaineDenormalise("truk_courriel", c);
        }
        public String selectionnerCourriel(int position) {
                return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_courriel"), position);
        }
        
        // SPÉCIALITÉ
        public String getSpecialite() {
                return renvoyerValeurCorrecte("ce_truk_specialite");
        }
        public void setSpecialite(String s) {
                // Pas de liste pour l'instant, donc tout passe dans "Autre".
                setChaineDenormaliseUnique("ce_truk_specialite", "AUTRE", s);
        }
        public String afficherSpecialite() {
                return getChaineDenormaliseUnique("ce_truk_specialite");
        }
        
        public Object obtenirValeurChamp(String nomChamp)       {
                return renvoyerValeurCorrecte(nomChamp);
        }
        
        
        public String getString(String champ)   {
                return String.valueOf(renvoyerValeurCorrecte(champ));
        }
        
        public void setNaissanceDate(Date naissanceDate) {
                if (naissanceDate != null) {
                        this.set("naissance_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(naissanceDate));
                }
        }
        
        public void setDecesDate(Date decesDate) {
                if (decesDate != null) {
                        this.set("deces_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(decesDate));
                }
        }
        
        public void setFmtNomComplet(String prefixe, String suffixe)    {
                String fmtNomComplet = "";
                if ((prefixe != null)&&(!prefixe.trim().equals("")))    {
                        fmtNomComplet += prefixe + " ";
                }
                
                if ((this.getPrenom()!=null)&&(!this.getPrenom().trim().equals("")))    {
                        fmtNomComplet += this.getPrenom() + " ";
                }
                
                if ((this.getNom()!=null)&&(!this.getNom().trim().equals("")))  {
                        fmtNomComplet += this.getNom() + " ";
                }
                
                if ((suffixe!=null)&&(!suffixe.trim().equals("")))      {
                        fmtNomComplet += suffixe;
                }
                
                this.set("fmt_nom_complet", UtilString.ucFirst(fmtNomComplet));
        }

}