Package fing.satode.ui.deposito.client

Source Code of fing.satode.ui.deposito.client.EntryPointDeposito

package fing.satode.ui.deposito.client;

import java.util.ArrayList;
import java.util.Date;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.CaptionPanel;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.RadioButton;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.datepicker.client.DatePicker;

import fing.satode.data.CiudadDTO;
import fing.satode.data.DepartamentoDTO;
import fing.satode.data.DepositoDTO;
import fing.satode.data.DesastreDTO;
import fing.satode.data.EventoDTO;
import fing.satode.data.UsuarioDTO;
import fing.satode.ui.desastres.client.IDesastre;
import fing.satode.ui.desastres.client.IDesastreAsync;
import fing.satode.ui.general.client.IBasicos;
import fing.satode.ui.general.client.IBasicosAsync;
import fing.satode.ui.general.data.KeyNumeric;
import fing.satode.ui.registros.client.IEvento;
import fing.satode.ui.registros.client.IEventoAsync;
import fing.satode.ui.usuarios.client.IUsuario;
import fing.satode.ui.usuarios.client.IUsuarioAsync;

public class EntryPointDeposito implements EntryPoint {

  final Button nuevoB = new Button("Nuevo");
  final VerticalPanel vertical = new VerticalPanel();
  private ArrayList<DepositoDTO> depositoGlobal;
  private ArrayList<DepartamentoDTO> departamentosGlobal;
  private Grid depositos;
  final Label modificarLabel= new Label("Modificar");
  final Label eliminarLabel= new Label("Eliminar");
 
  @Override
  public void onModuleLoad() {
   
    RootPanel.get("botones").add(nuevoB);
    nuevoB.addClickHandler(new ClickHandler() {
     
      @Override
      public void onClick(ClickEvent event) {
        FormDialogBox dialog= new FormDialogBox(0L, "nuevo");
        dialog.show();
      }
    });
   
    cargarLista();
  }
 
  private void cargarLista() {
    RootPanel.get("depositos").clear();
    vertical.clear();
    RootPanel.get("depositos").add(vertical);
   
    IDepositoAsync servidorDepositos= GWT.create(IDeposito.class);
   
    servidorDepositos.listaDepositos(new AsyncCallback<ArrayList<DepositoDTO>>() {
     
      @Override
      public void onSuccess(ArrayList<DepositoDTO> result) {
        depositoGlobal=result;
        depositos = new Grid(result.size()+1,10);
        depositos.setWidget(0, 0, new Label("ID"));
        depositos.setWidget(0, 1, new Label("Responsable"));
        depositos.setWidget(0, 2, new Label("Ciudad"));
        depositos.setWidget(0, 3, new Label("Direcci\u00F3n"));
        depositos.setWidget(0, 4, new Label("Telefono"));
        depositos.setWidget(0, 5, new Label("Mail"));
        depositos.setWidget(0, 6, new Label("Area en m\u00B2"));
        depositos.setWidget(0, 7, new Label("Area en m\u00B3"));
        depositos.setWidget(0, 8, modificarLabel);
        depositos.setWidget(0, 9, eliminarLabel);
       
        for(int i=0;i<10;i++){
          depositos.getCellFormatter().setStyleName(0,i, "tbl-cab");
        }
       
        depositos.setBorderWidth(1);
        int row=1;
        for(DepositoDTO e: result){
          depositos.setWidget(row, 0, new Label(e.getId().toString()));
          depositos.setWidget(row, 1, new Label(e.getResponsable()));
          depositos.setWidget(row, 2, new Label(e.getCiudad().getNombre()));
          depositos.setWidget(row, 3, new Label(e.getDireccion()));
          depositos.setWidget(row, 4, new Label(e.getTelefono()));
          depositos.setWidget(row, 5, new Label(e.getMail()));
          depositos.setWidget(row, 6, new Label(String.valueOf(e.getArea2())));
          depositos.setWidget(row, 7, new Label(String.valueOf(e.getArea3())));
          final Long id= e.getId();
          final Image modificarI= new Image("images/modificar.png");
          modificarI.addClickHandler(new ClickHandler() {
           
            @Override
            public void onClick(ClickEvent event) {
              FormDialogBox dialog= new FormDialogBox(id, "modificar");
              dialog.show();
            }
          });
         
          final Image eliminarI= new Image("images/eliminar.png");
         
          eliminarI.addClickHandler(new ClickHandler() {
           
            @Override
            public void onClick(ClickEvent event) {
              FormDialogBox dialog= new FormDialogBox(id, "eliminar");
              dialog.show();
            }
          });
          depositos.setWidget(row, 8, modificarI);
          depositos.setWidget(row, 9, eliminarI);
          row++;
        }
        vertical.add(depositos);
       
      }
     
      @Override
      public void onFailure(Throwable caught) {
        caught.printStackTrace();
        Window.alert("ERROR AJAX");
      }
    });
   

    IBasicosAsync servidorBasicos = GWT.create(IBasicos.class);
   
    servidorBasicos.listaDepartamentos(new AsyncCallback<ArrayList<DepartamentoDTO>>() {
     
      @Override
      public void onSuccess(ArrayList<DepartamentoDTO> result) {
        departamentosGlobal=result;
      }
     
      @Override
      public void onFailure(Throwable caught) {
        caught.printStackTrace();
        Window.alert("ERROR AJAX");
      }
    });
  }

  public class FormDialogBox extends DialogBox{
    private String a;
    private Long id;
    final HorizontalPanel horizontal= new HorizontalPanel();
    final VerticalPanel vertical= new VerticalPanel();
    final CaptionPanel panelPrincipal = new CaptionPanel();
    final Grid grid= new Grid(8,2);
      final TextBox direccion=new TextBox();
      final TextBox telefono=new TextBox();
      final TextBox mail=new TextBox();
      final TextBox area2=new TextBox();
      final TextBox area3=new TextBox();
      final TextBox responsable=new TextBox();
      final ListBox departamentos= new ListBox();
      final ListBox ciudades= new ListBox();
      final Button cancelar= new Button("Cancelar");
    final Button aceptar= new Button("Aceptar");
 
      @SuppressWarnings("deprecation")
    public FormDialogBox(Long idDeposito, String accion) {
      a=accion;
        id=idDeposito;
       
        if(a=="modificar") panelPrincipal.setCaptionText("Modificar Deposito");
      if(a=="eliminar") panelPrincipal.setCaptionText("Eliminar Deposito");
      if(a=="nuevo") panelPrincipal.setCaptionText("Nuevo Deposito");
     
      grid.setWidget(0, 0, new Label("Responsable"));
      grid.setWidget(1, 0, new Label("Departamento"));
      grid.setWidget(2, 0, new Label("Ciudad"));
      grid.setWidget(3, 0, new Label("Direcci\u00F3n"));
      grid.setWidget(4, 0, new Label("Telefono"));
      grid.setWidget(5, 0, new Label("Mail"));
      grid.setWidget(6, 0, new Label("Area en m\u00B2"));
      grid.setWidget(7, 0, new Label("Area en m\u00B3"));
     
      grid.setWidget(0, 1, responsable);
      grid.setWidget(1, 1, departamentos);
      grid.setWidget(2, 1, ciudades);
      grid.setWidget(3, 1, direccion);
      grid.setWidget(4, 1, telefono);
      grid.setWidget(5, 1, mail);
      grid.setWidget(6, 1, area2);
      grid.setWidget(7, 1, area3);
        grid.setBorderWidth(1);
       
          departamentos.addItem("Seleccionar","0");
        for(DepartamentoDTO d:departamentosGlobal){
          departamentos.addItem(d.getNombre(), d.getId().toString());
        }
        departamentos.addChangeHandler(new ChangeHandler() {
       
        @Override
        public void onChange(ChangeEvent event) {
          ciudades.clear();
          Long id=Long.valueOf(departamentos.getValue(departamentos.getSelectedIndex()));
          for(DepartamentoDTO dto:departamentosGlobal){
            if(dto.getId().equals(id)){
              ciudades.addItem("Seleccionar","0");
              for(CiudadDTO c:dto.getCiudades()){
                ciudades.addItem(c.getNombre(),c.getId().toString());
              }
            }
          }
        }
      });
       
        area2.addKeyboardListener(new KeyNumeric());
        area3.addKeyboardListener(new KeyNumeric());
       
        if (a == "modificar" || a == "eliminar" ){
         
          DepositoDTO depositoDTO= null;
          for(DepositoDTO d:depositoGlobal){
            if(d.getId().equals(id)){
              depositoDTO=d;
            }
          }
         
         
          direccion.setText(depositoDTO.getDireccion());
          telefono.setText(depositoDTO.getTelefono());
          mail.setText(depositoDTO.getMail());
          area2.setText(String.valueOf(depositoDTO.getArea2()));
          area3.setText(String.valueOf(depositoDTO.getArea3()));
          responsable.setText(depositoDTO.getResponsable());
         
          int row=0;
          for(DepartamentoDTO d:departamentosGlobal){
            row++;
            if(d.getId().equals(depositoDTO.getDepartamento().getId())){
              departamentos.setSelectedIndex(row);
              ciudades.clear();
              ciudades.addItem("Seleccionar","0");
              int row2=1;
            for(CiudadDTO c:d.getCiudades()){
              ciudades.addItem(c.getNombre(),c.getId().toString());
              if(c.getId().equals(depositoDTO.getCiudad().getId())){
                ciudades.setSelectedIndex(row2);
              }
              row2++;
            }
            }
          }
        
        }
       
        if ( a == "eliminar" ){
          direccion.setEnabled(false);
          telefono.setEnabled(false);
          mail.setEnabled(false);
          area2.setEnabled(false);
          area3.setEnabled(false);
          responsable.setEnabled(false);
          departamentos.setEnabled(false);
          ciudades.setEnabled(false);
         
        }
      //vertical.add(label);
        panelPrincipal.add(vertical);
      vertical.add(grid);
        horizontal.add(aceptar);
      horizontal.add(cancelar);
      vertical.add(horizontal);
     
      cancelar.addClickHandler(new ClickHandler() {
       
        @Override
        public void onClick(ClickEvent event) {
          FormDialogBox.this.hide();
        }
      });
     
      aceptar.addClickHandler(new ClickHandler() {
       
        @Override
        public void onClick(ClickEvent event) {
          FormDialogBox.this.procesar();
        }
      });
       
      setAnimationEnabled(true);
      add(panelPrincipal);
      center();
    }

    protected void procesar() {
      DepositoDTO dto=validar();
      if(dto!=null){
        dto.setId(id);
        if(a=="modificar"){
         
          IDepositoAsync servidorDeposito=GWT.create(IDeposito.class);
         
          servidorDeposito.modificarDeposito(dto,new AsyncCallback<Void>() {
           
            @Override
            public void onSuccess(Void result) {
              cargarLista();
              hide();
            }
           
            @Override
            public void onFailure(Throwable caught) {
              caught.printStackTrace();
              Window.alert("ERROR AJAX");
            }
          });
        }else if(a== "nuevo"){
          IDepositoAsync servidorDeposito=GWT.create(IDeposito.class);
         
          servidorDeposito.nuevoDeposito(dto,new AsyncCallback<Void>() {
           
            @Override
            public void onSuccess(Void result) {
              cargarLista();
              hide();
            }
           
            @Override
            public void onFailure(Throwable caught) {
              caught.printStackTrace();
              Window.alert("ERROR AJAX");
            }
          });
        }else if(a=="eliminar"){
          IDepositoAsync servidorDeposito=GWT.create(IDeposito.class);
         
          servidorDeposito.eliminarDeposito(dto,new AsyncCallback<Void>() {
           
            @Override
            public void onSuccess(Void result) {
              cargarLista();
              hide();
            }
           
            @Override
            public void onFailure(Throwable caught) {
              caught.printStackTrace();
              Window.alert("ERROR AJAX");
            }
          });
        }
      }
    }

    private DepositoDTO validar() {
      DepositoDTO dto= new DepositoDTO();
     
      if(responsable.getText().trim().length()==0){
        Window.alert("Indique responsable");
        return null;
      }
      dto.setResponsable(responsable.getText());
     
      if(departamentos.getSelectedIndex()<1){
        Window.alert("Indique departamento");
        return null;
      }
     
      Long idDep=Long.valueOf(departamentos.getValue(departamentos.getSelectedIndex()));
      for(DepartamentoDTO d:departamentosGlobal){
        if(idDep.equals(d.getId())){
          dto.setDepartamento(d);
        }
      }
     
      if(ciudades.getSelectedIndex()<1){
        Window.alert("Indique ciudad");
        return null;
      }
     
      Long idCiu=Long.valueOf(ciudades.getValue(ciudades.getSelectedIndex()));
      for(CiudadDTO c:dto.getDepartamento().getCiudades()){
        if(idCiu.equals(c.getId())){
          dto.setCiudad(c);
        }
      }
     
      if(direccion.getText().trim().length()==0){
        Window.alert("Indique Direccion");
        return null;
      }
      dto.setDireccion(direccion.getText());
     
      if(telefono.getText().trim().length()==0){
        Window.alert("Indique Telefono");
        return null;
      }
      dto.setTelefono(telefono.getText());
     
      if(mail.getText().trim().length()==0){
        Window.alert("Indique Mail");
        return null;
      }     
      dto.setMail(mail.getText());
     
      if(area2.getText().trim().length()==0){
        Window.alert("Indique Area en m\u00B2");
        return null;
     
      dto.setArea2(getFloat(area2.getText()));
     
      if(area3.getText().trim().length()==0){
        Window.alert("Indique Area en m\u00B3");
        return null;
      }
      dto.setArea3(getFloat(area3.getText()));
     
      return dto;
     
    }
   
    private Float getFloat(String text) {
      if(text==null || text.trim().length()==0){
        return 0F;
      }
      return Float.valueOf(text);
    }
  }

}
TOP

Related Classes of fing.satode.ui.deposito.client.EntryPointDeposito

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.