Package br.com.lawoffice.web.mb.agenda

Source Code of br.com.lawoffice.web.mb.agenda.AgendaMB$EventoAdapter

/**
*
*/
package br.com.lawoffice.web.mb.agenda;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import org.primefaces.event.DateSelectEvent;
import org.primefaces.event.ScheduleEntryMoveEvent;
import org.primefaces.event.ScheduleEntryResizeEvent;
import org.primefaces.event.ScheduleEntrySelectEvent;
import org.primefaces.model.DefaultScheduleEvent;
import org.primefaces.model.LazyScheduleModel;
import org.primefaces.model.ScheduleEvent;
import org.primefaces.model.ScheduleModel;

import br.com.lawoffice.agenda.service.AgendaServiceLocal;
import br.com.lawoffice.dominio.Agenda;
import br.com.lawoffice.dominio.Colaborador;
import br.com.lawoffice.dominio.Evento;
import br.com.lawoffice.web.mb.AutoCompleteMB;

/**
*
* Manager Bean para página de /caixa/credito.xhtml
*
* @author rduarte
*
*/

@ManagedBean
@ViewScoped
public class AgendaMB extends AutoCompleteMB{

 
  /**
   *
   */
  private ScheduleModel scheduleModel;
 
 
 
 
  @EJB
  private AgendaServiceLocal agendaService;
 
 

 
  private EventoAdapter eventoAdapter;
 
 
 
  @PostConstruct
  public void init(){
   
    scheduleModel = new LazyScheduleModel(){

      @Override
      public void loadEvents(Date start, Date end) {
     
        List<DefaultScheduleEvent> scheduleEvents =
          getEventos(start,end);
       
        for (DefaultScheduleEvent defaultScheduleEvent : scheduleEvents) {
          addEvent(defaultScheduleEvent);
        }
      }
    };
   
    /*evento = new EventoTemp();*/
  }

 
 
 
  private List<DefaultScheduleEvent> getEventos(Date dataIncial, Date dataFinal) {
 
   
    Colaborador c = new Colaborador();
    c.setId(3L);
   
    List<Evento> listEventos = null;
   
    try {
      listEventos = agendaService.listarEventos(c, dataIncial, dataFinal);
    } catch (Exception e) {
      e.printStackTrace();
    }
   
   
    List<DefaultScheduleEvent> eventos =
        new ArrayList<DefaultScheduleEvent>();
   
   
    for (Evento evento : listEventos) {
     
        eventos.add(
          new EventoAdapter(
            evento.getTitulo(),
            evento.getDataIncial(),
            evento.getDataFinal(),
            false,
            evento.getId(),
            evento.getAgenda().getId()
          )
        );
    }
    return eventos;
  }

 
 
 
 
 
 
    public void onDataSelecionada(DateSelectEvent dateSelectEvent) {
      eventoAdapter =
        new EventoAdapter(
            null,
            dateSelectEvent.getDate(),
            dateSelectEvent.getDate(),
            false,
            null,
            null
          );
   
 
 
 
    
  public void onEventoSelecionado(ScheduleEntrySelectEvent selectEvent) {
    eventoAdapter =
      (EventoAdapter) selectEvent.getScheduleEvent();
    }
 
 
 
 
  public void onEventoMovido(ScheduleEntryMoveEvent event) {
   
   
    eventoAdapter =
        (EventoAdapter) event.getScheduleEvent();
   
   
    Calendar c = Calendar.getInstance();
    c.setTime(eventoAdapter.getEndDate());
    c.add(Calendar.DAY_OF_MONTH, event.getDayDelta());
   
   
    eventoAdapter.setEndDate(c.getTime());
    eventoAdapter.setStartDate(c.getTime());
   
    agendaService.atualizarEvento(eventoAdapter.getEvento());
   
   
 
 
    public void onEventoRedimensionado(ScheduleEntryResizeEvent event) {
     
      System.out.println(event);
     
     
/*        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Event resized", "Day delta:" + event.getDayDelta() + ", Minute delta:" + event.getMinuteDelta()); 
         
        addMessage(message);  */
   
 
 
 
 
 
 
 
  public void salvarEvento(){
   
    Colaborador c = new Colaborador();
    c.setId(3l);
   
    Agenda g = new Agenda();
    g.setId(2L);
   
    c.setAgenda(g);
    Evento e =
        eventoAdapter.getEvento();
   
    if(e.getId() == null){
      agendaService.adicionarEvento(c, eventoAdapter.getEvento());     
    }else{
      agendaService.atualizarEvento(e);
    }
  }
 
 
 
 
 
 
  /**
   *
   * Evento adpater para o {@link Evento} com o {@link ScheduleEvent} do prime faces.
   *
   * @author rduarte
   *
   */
  public class EventoAdapter extends DefaultScheduleEvent{
   
    public Long idEvento;
    public Long idAgenda;
   

    public EventoAdapter(String title, Date start, Date end, boolean allDay, Long idEvento, Long idAgenda) {
      super(title, start, end, allDay);
      this.idEvento = idEvento;
      this.idAgenda = idAgenda;
    }


    public Evento getEvento() {
      Evento evento =
        new Evento(
          getTitle(),
          getStartDate(),
          getEndDate()
        );

      Agenda agenda = new Agenda();
      agenda.setId(getIdAgenda());
     
      evento.setId(getIdEvento());
      evento.setAgenda(agenda);
 
      return evento;
    }


    public Long getIdEvento() {
      return idEvento;
    }



    public void setIdEvento(Long idEvento) {
      this.idEvento = idEvento;
    }


    public Long getIdAgenda() {
      return idAgenda;
    }


    public void setIdAgenda(Long idAgenda) {
      this.idAgenda = idAgenda;
    }
   
  }
 

 
 
 
 
 
 
  //////////////////////////////////////////////
 
 
 
  public ScheduleModel getScheduleModel() {
    return scheduleModel;
  }


  public void setScheduleModel(ScheduleModel scheduleModel) {
    this.scheduleModel = scheduleModel;
  }




  public EventoAdapter getEventoAdapter() {
    return eventoAdapter;
  }


  public void setEventoAdapter(EventoAdapter eventoAdapter) {
    this.eventoAdapter = eventoAdapter;
  }

}
TOP

Related Classes of br.com.lawoffice.web.mb.agenda.AgendaMB$EventoAdapter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.