Subversion Repositories eFlore/Applications.del

Rev

Rev 228 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
46 aurelien 1
package org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition;
2
 
95 aurelien 3
import java.util.Date;
46 aurelien 4
 
85 benjamin 5
import org.tela_botanica.del.client.cache.CacheClient;
228 aurelien 6
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul;
140 aurelien 7
import org.tela_botanica.del.client.modeles.Commentaire;
8
import org.tela_botanica.del.client.modeles.PropositionDetermination;
159 benjamin 9
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
10
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
46 aurelien 11
 
77 aurelien 12
import com.google.gwt.event.dom.client.ClickEvent;
13
import com.google.gwt.event.dom.client.ClickHandler;
46 aurelien 14
import com.google.gwt.user.client.ui.HasWidgets;
15
 
140 aurelien 16
public class FormulairePropositionPresenteur {
85 benjamin 17
 
46 aurelien 18
	private FormulairePropositionVue formulairePropositionVue = new FormulairePropositionVue();
85 benjamin 19
 
46 aurelien 20
	public void go(HasWidgets composite) {
85 benjamin 21
 
234 gduche 22
		composite.add(formulairePropositionVue);
95 aurelien 23
		gererEvenements();
46 aurelien 24
	}
85 benjamin 25
 
77 aurelien 26
	private void gererEvenements() {
27
		formulairePropositionVue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
28
 
29
			@Override
30
			public void onClick(ClickEvent event) {
234 gduche 31
 
32
				if (!validerSaisieProposition()) {
105 aurelien 33
					return;
77 aurelien 34
				} else {
140 aurelien 35
					PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
234 gduche 36
					CacheClient.getInstance().getObservationCourante().addImageCelValidationData(propositionAjoutee);
37
 
38
					EvenementAjoutDetermination evenementAjoutDetermination = new EvenementAjoutDetermination(propositionAjoutee);
159 benjamin 39
					BusEvenementiel.getInstance().fireEvent(evenementAjoutDetermination);
77 aurelien 40
				}
85 benjamin 41
			}
77 aurelien 42
		});
43
	}
234 gduche 44
 
105 aurelien 45
	private boolean validerSaisieProposition() {
234 gduche 46
 
228 aurelien 47
		ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(formulairePropositionVue.getNomPrenom());
48
		boolean taxonSaisi = validateurTaxon.valider();
234 gduche 49
 
140 aurelien 50
		return taxonSaisi;
105 aurelien 51
	}
234 gduche 52
 
140 aurelien 53
	private PropositionDetermination collecterValeursSaisieProposition() {
234 gduche 54
 
140 aurelien 55
		PropositionDetermination propositionAjoutee = new PropositionDetermination();
148 benjamin 56
		propositionAjoutee.setId(CacheClient.getInstance().getImageCourante().getIdImage());
234 gduche 57
 
140 aurelien 58
		String auteur = formulairePropositionVue.getNomPrenom().getText();
234 gduche 59
		if (formulairePropositionVue.getCommentaires().getText() != "") {
140 aurelien 60
			String contenuCommentaire = formulairePropositionVue.getCommentaires().getText();
234 gduche 61
			Commentaire comm = new Commentaire(auteur, new Date(), contenuCommentaire);
140 aurelien 62
			propositionAjoutee.ajouterCommentaire(comm);
63
		}
64
		propositionAjoutee.setContributeur(auteur);
105 aurelien 65
		propositionAjoutee.setDate(new Date());
234 gduche 66
 
140 aurelien 67
		propositionAjoutee.setEspece(formulairePropositionVue.getPropositionTaxon().getText());
234 gduche 68
 
105 aurelien 69
		return propositionAjoutee;
70
	}
46 aurelien 71
}