Subversion Repositories eFlore/Applications.del

Rev

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

package org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition;

import java.util.Date;

import org.tela_botanica.del.client.modeles.MoyenneVote;
import org.tela_botanica.del.client.modeles.VoteDetermination;
import org.tela_botanica.del.client.services.CalculVoteDeterminationService;
import org.tela_botanica.del.client.utils.MockDatasource;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasWidgets;

public class BarreRepartitionVotePresenteur {
        
        private BarreRepartitionVoteVue vue = new BarreRepartitionVoteVue();

        private MockDatasource validationService = MockDatasource.getInstance();
        
        private MoyenneVote moyenneVote;
        
        public void go(HasWidgets container) {
                container.add(vue);
        }

        public void afficherVotes(MoyenneVote moyenneVote) {
                this.moyenneVote = moyenneVote;
                vue.afficherVotes(moyenneVote.getScore(), moyenneVote.getIntituleAssocie());
                gererEvenements();
        }
        
        public BarreRepartitionVoteVue getBarreRepartitionVoteVue() {
                return vue;
        }
        
        public HTML getBarreRepartitionVoteVueHTML() {
                return vue.getBarreRepartitionHtmlBrut();
        }
        
        public void gererEvenements() {
                
                vue.getBoutonOui().addClickHandler(new ClickHandler() {

                        @Override
                        public void onClick(ClickEvent event) {
                                VoteDetermination vd = new VoteDetermination();
                                vd.setContributeur("test");
                                vd.setDate(new Date());
                                vd.setVote(1);
                                vd.setId("3");
                                
                                vue.getBoutonOui().setEnabled(false);
                                vue.getBoutonNon().setEnabled(true);
                                
                                moyenneVote.getPropositionAssociee().ajouterVoteDetermination(vd);
                                moyenneVote = CalculVoteDeterminationService.calculerVoteDetermination(moyenneVote.getPropositionAssociee());
                                afficherVotes(moyenneVote);
                        }
                        
                });
                
                vue.getBoutonNon().addClickHandler(new ClickHandler() {

                        @Override
                        public void onClick(ClickEvent event) {
                                VoteDetermination vd = new VoteDetermination();
                                vd.setContributeur("test");
                                vd.setDate(new Date());
                                vd.setVote(0);
                                vd.setId("3");
                                
                                vue.getBoutonOui().setEnabled(true);
                                vue.getBoutonNon().setEnabled(false);
                                
                                moyenneVote.getPropositionAssociee().ajouterVoteDetermination(vd);
                                moyenneVote = CalculVoteDeterminationService.calculerVoteDetermination(moyenneVote.getPropositionAssociee());
                                afficherVotes(moyenneVote);
                        }               
                });
        }
}