package com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional;

import java.text.SimpleDateFormat;

import org.zkoss.util.resource.Labels;
import org.zkoss.zul.Messagebox;

import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;

public class ItemMenuGeneracionCorrida extends DefaultItemMenuSistema {

	public ItemMenuGeneracionCorrida() {
		super("indexController.mniGeracionCorrida.label");
	}

	@Override
	public String getClaveMenu() {
		return "COM.RJCONSULTORES.ADMINISTRACION.GUI.ESQUEMAOPERACIONAL.MENU.GENERACIONDECORRIDA";
	}

	@Override
	public void ejecutar() {

		SimpleDateFormat sdfData = new SimpleDateFormat("dd/MM/yyyy");
		CorridaService corridaService = (CorridaService) AppContext.getApplicationContext().getBean("corridaService");

		try {
			int resp = Messagebox.show(
					Labels.getLabel("geracionCorridaController.MSG.gerarPergunta",
							new Object[] { sdfData.format(corridaService.calcularDataFinalGeneracionCorrida()) }),
					Labels.getLabel("geracionCorridaController.window.title"), Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);

			if (resp == Messagebox.YES) {
				boolean hayError = corridaService.generarCorridaAutomatica();

				if (!hayError) {
					Messagebox.show(Labels.getLabel("geracionCorridaController.MSG.ok"),
							Labels.getLabel("geracionCorridaController.window.title"), Messagebox.OK, Messagebox.INFORMATION);
				} else {
					Messagebox.show(Labels.getLabel("MSG.Error"), Labels.getLabel("geracionCorridaController.window.title"),
							Messagebox.OK, Messagebox.ERROR);
				}
			}
		} catch (InterruptedException e) {
		}
	}
}
