package com.rjconsultores.ventaboletos.web.gui.controladores.expressos;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Window;

import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso;
import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos;
import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
import com.rjconsultores.ventaboletos.service.TrayectosExpresosService;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox;

@Controller("modificarTrayectoCotizarController")
@Scope("prototype")
public class ModificarTrayectoExpresoController extends MyGenericForwardComposer{
	
	private static final long serialVersionUID = 1L;
	
	@Autowired
	TrayectosExpresosService trayectosExpresosService;
	
	@Autowired
    private LogAuditoriaService logAuditoriaService;
	
	TrayectosExpresos trayecto;
	TrayectosExpresos trayectoClone;
	
	private Window winCotizarExpresso;
	
	private MyTextbox txtRuta;
	private MyTextbox txtCantidadVehiculos;
	private MyTextbox txtValorTrayecto;
	
	@Override
	public void doAfterCompose(Component comp) throws Exception {
		super.doAfterCompose(comp);
		trayecto = (TrayectosExpresos) Executions.getCurrent().getArg().get("trayecto");
		
		trayecto.clonar();
		trayectoClone = trayecto.getCloneObject();
		
		
		winCotizarExpresso = (Window) Executions.getCurrent().getArg().get("winCotizarExpresso");
		
		txtRuta.setValue(trayecto.getDescTrayecto());
		
		if(trayecto.getCantVehiculos() == null) {
			txtCantidadVehiculos.setValue("0");
		}else {
			txtCantidadVehiculos.setValue(trayecto.getCantVehiculos().toString());
		}
		
		if(trayecto.getValorTrayecto() == null) {
			txtValorTrayecto.setValue("0");
		}else {
			txtValorTrayecto.setValue(trayecto.getValorTrayecto().toString());
		}
	}
	
	public void onClick$btnGuardar(Event event) throws Exception {
		
		Integer cantVechiculos = Integer.valueOf(txtCantidadVehiculos.getValue().toString());
		Integer valorTrayecto = Integer.valueOf(txtValorTrayecto.getValue().toString());
		
		trayecto.setCantVehiculos(cantVechiculos);
		trayecto.setValorTrayecto(valorTrayecto);
		
		trayectosExpresosService.actualizacion(trayecto);
		
		logAuditoriaService.auditar(trayectoClone, trayecto, null);
		
		winCotizarExpresso.focus();
		
		this.closeWindow();
	}
}
