Subversion Repositories eFlore/Applications.del

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
46 aurelien 1
package org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition;
2
 
3
import java.util.ArrayList;
95 aurelien 4
import java.util.Date;
105 aurelien 5
import java.util.Observable;
6
import java.util.Observer;
46 aurelien 7
 
85 benjamin 8
import org.tela_botanica.del.client.cache.CacheClient;
105 aurelien 9
import org.tela_botanica.del.client.composants.validation.NumericFormValidator;
10
import org.tela_botanica.del.client.composants.validation.TextNotNullFormValidator;
95 aurelien 11
import org.tela_botanica.del.client.exceptions.ExceptionClient;
140 aurelien 12
import org.tela_botanica.del.client.modeles.Commentaire;
13
import org.tela_botanica.del.client.modeles.PropositionDetermination;
95 aurelien 14
import org.tela_botanica.del.client.utils.GwtObservable;
15
import org.tela_botanica.del.client.utils.GwtObserver;
46 aurelien 16
import org.tela_botanica.del.client.utils.MockDatasource;
17
 
105 aurelien 18
import com.google.gwt.core.client.GWT;
77 aurelien 19
import com.google.gwt.event.dom.client.ClickEvent;
20
import com.google.gwt.event.dom.client.ClickHandler;
95 aurelien 21
import com.google.gwt.i18n.client.DateTimeFormat;
22
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
105 aurelien 23
import com.google.gwt.user.client.ui.HTML;
46 aurelien 24
import com.google.gwt.user.client.ui.HasWidgets;
25
 
140 aurelien 26
public class FormulairePropositionPresenteur {
85 benjamin 27
 
46 aurelien 28
	private FormulairePropositionVue formulairePropositionVue = new FormulairePropositionVue();
85 benjamin 29
 
46 aurelien 30
	public void go(HasWidgets composite) {
85 benjamin 31
 
128 aurelien 32
		formulairePropositionVue.chargerPourcentagesConfiance(MockDatasource.getInstance().getPourcentagesConfiance());
46 aurelien 33
		composite.add(formulairePropositionVue);
95 aurelien 34
 
35
		gererEvenements();
46 aurelien 36
	}
85 benjamin 37
 
77 aurelien 38
	private void gererEvenements() {
39
		formulairePropositionVue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
40
 
41
			@Override
42
			public void onClick(ClickEvent event) {
105 aurelien 43
 
44
				if(!validerSaisieProposition()) {
45
					return;
77 aurelien 46
				} else {
140 aurelien 47
					PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
111 aurelien 48
					CacheClient.getInstance().getCurrentObservation().addImageCelValidationData(propositionAjoutee);
77 aurelien 49
				}
85 benjamin 50
			}
77 aurelien 51
		});
52
	}
105 aurelien 53
 
54
	private boolean validerSaisieProposition() {
55
 
140 aurelien 56
		TextNotNullFormValidator validateurTaxon = new TextNotNullFormValidator(formulairePropositionVue.getNomPrenom());
57
		boolean taxonSaisi = validateurTaxon.validate();
105 aurelien 58
 
140 aurelien 59
		return taxonSaisi;
105 aurelien 60
	}
61
 
140 aurelien 62
	private PropositionDetermination collecterValeursSaisieProposition() {
105 aurelien 63
 
140 aurelien 64
		PropositionDetermination propositionAjoutee = new PropositionDetermination();
105 aurelien 65
		propositionAjoutee.setId(CacheClient.getInstance().getCurrentObservation().getIdImage());
140 aurelien 66
 
67
		String auteur = formulairePropositionVue.getNomPrenom().getText();
68
		if(formulairePropositionVue.getCommentaires().getText() != "") {
69
			String contenuCommentaire = formulairePropositionVue.getCommentaires().getText();
70
			Commentaire comm = new Commentaire(auteur, new Date(),contenuCommentaire);
71
			propositionAjoutee.ajouterCommentaire(comm);
72
		}
73
		propositionAjoutee.setContributeur(auteur);
105 aurelien 74
		propositionAjoutee.setDate(new Date());
75
 
140 aurelien 76
		propositionAjoutee.setEspece(formulairePropositionVue.getPropositionTaxon().getText());
128 aurelien 77
		propositionAjoutee.setPourcentageConfiance(formulairePropositionVue.getPourcentageConfiance().getValue(formulairePropositionVue.getPourcentageConfiance().getSelectedIndex()));
105 aurelien 78
 
79
		return propositionAjoutee;
80
	}
46 aurelien 81
}