public ActionResult Create(Vuelo vuelo)
        {
            try
            {
                int ultimo = 0;
                foreach (var a in ModeloVuelo.getInstancia().lista())
                {
                    if (ultimo < a.idVuelo)
                    {
                        ultimo = a.idVuelo;
                    }
                }

                Vuelo v = new Vuelo();

                v.idVuelo   = ultimo + 1;
                v.horaVuelo = Request["horaVuelo"];
                v.destino   = Request["destino"];
                v.estado    = Request["estadoVuelo"];
                v.fecha     = DateTime.Now.ToString();;
                v.idAvion   = int.Parse(ModeloAvion.getInstancia().consultarIdAvion(Request["aviones"]).idAvion.ToString());
                ModeloVuelo.getInstancia().agregar(v);
                return(RedirectToAction("Index"));
            }
            catch { return(RedirectToAction("Index")); }
        }
        //
        // GET: /Vuelo/Create

        public ActionResult Create()
        {
            ViewData["nombreUsuario"] = ModeloAcceso.getInstancia().NombreUsuario;
            ViewData["estado"]        = ModeloAcceso.getInstancia().Estado;
            String[] dato = { "proceso", "despegado" };
            ViewData["estadoVuelo"] = new SelectList(dato);
            ViewData["aviones"]     = new SelectList(ModeloAvion.getInstancia().listaNombres());
            Vuelo model = new Vuelo();

            return(View(model));
        }
        public ActionResult Guardar()
        {
            Boleto b = new Boleto();

            ViewBag.mensaje = "";
            if (ModeloCompraBoleto.getInstancia().Primera != null)
            {
                ViewBag.listaPrimera = ModeloCompraBoleto.getInstancia().Primera;
            }
            if (ModeloCompraBoleto.getInstancia().Segunda != null)
            {
                ViewBag.listaSegunda = ModeloCompraBoleto.getInstancia().Segunda;
            }

            ViewBag.aumento   = Convert.ToDecimal(ModeloAerolinea.getInstancia().buscar(int.Parse(ModeloAvion.getInstancia().buscar(ModeloCompraBoleto.getInstancia().Avion).idAerolinea.ToString())).precio.ToString());
            ViewBag.aerolinea = ModeloAerolinea.getInstancia().buscar(int.Parse(ModeloAvion.getInstancia().buscar(ModeloCompraBoleto.getInstancia().Avion).idAerolinea.ToString())).nombre.ToString();
            return(View(b));
        }
        public ActionResult Create(Avion a)
        {
            try
            {
                a.idAvion = ModeloAvion.getInstancia().lista().Count + 1;
                a.modelo  = Request["modelo"];
                int id = int.Parse(ModeloAerolinea.getInstancia().consultarNombre(Request["aerolineas"]).idAerolinea.ToString());
                a.idAerolinea = id;
                ModeloAvion.getInstancia().agregar(a);
                int idPrimera = ModeloTipoAsiento.getInstancia().buscar("Primera Clase").idTipoAsiento;
                int idSegunda = ModeloTipoAsiento.getInstancia().buscar("Segunda Clase").idTipoAsiento;
                for (int i = 1; i <= Convert.ToInt32(Request["primera"]); i++)
                {
                    Asiento s = new Asiento();
                    s.idAsiento     = ModeloAsiento.getInstancia().lista().Count + 1;
                    s.numeroAsiento = "No." + i;
                    s.idAvion       = a.idAvion;
                    s.estado        = "disponible";
                    s.precio        = Convert.ToDecimal(Request["precioClase1"]);
                    s.idTipoAsiento = idPrimera;

                    ModeloAsiento.getInstancia().agregar(s);
                }
                for (int i = 1; i <= Convert.ToInt32(Request["segunda"]); i++)
                {
                    Asiento s = new Asiento();
                    s.idAsiento     = ModeloAsiento.getInstancia().lista().Count + 1;
                    s.numeroAsiento = "No." + i;
                    s.idAvion       = a.idAvion;
                    s.estado        = "disponible";
                    s.precio        = Convert.ToDecimal(Request["precioClase2"]);
                    s.idTipoAsiento = idSegunda;
                    ModeloAsiento.getInstancia().agregar(s);
                }
                return(RedirectToAction("../Vuelo/Index"));
            }
            catch
            {
                return(View());
            }
        }
        //
        // GET: /Vuelo/Edit/5

        public ActionResult Edit(int id)
        {
            Vuelo v        = ModeloVuelo.getInstancia().buscar(id);
            int   contador = int.Parse(v.idAvion.ToString());
            int   opcion   = ModeloAsiento.getInstancia().existenciaAsientos(contador).Count;

            if (opcion != 0)

            {
                ViewBag.m                 = "";
                ViewData["condicion"]     = "si";
                ViewData["nombreUsuario"] = ModeloAcceso.getInstancia().NombreUsuario;
                ViewData["estado"]        = ModeloAcceso.getInstancia().Estado;
                String[] dato = { "proceso", "despegado" };
                ViewData["estadoVuelo"] = new SelectList(dato);
                ViewBag.mensaje         = "Hay Asientos Reservados, Solo Puede Editar El Estado Si el Avion Ya Despego";
                return(View());
            }
            else
            {
                if (v.estado.Equals("despegado"))
                {
                    ViewData["estado"] = ModeloAcceso.getInstancia().Estado;
                    ViewBag.mensaje    = "El Avion Despego";
                    return(View());
                }
                else
                {
                    ViewBag.mensaje           = "";
                    ViewBag.m                 = "";
                    ViewData["condicion"]     = "no";
                    ViewData["nombreUsuario"] = ModeloAcceso.getInstancia().NombreUsuario;
                    ViewData["estado"]        = ModeloAcceso.getInstancia().Estado;
                    String[] dato = { "proceso", "despegado" };
                    ViewData["estadoVuelo"] = new SelectList(dato);
                    ViewData["listaAvion"]  = new SelectList(ModeloAvion.getInstancia().listaNombres());
                    return(View(ModeloVuelo.getInstancia().buscar(id)));
                }
            }
        }
        public ActionResult Reservar(Boleto boleto)
        {
            try

            {
                ModeloCompraBoleto.getInstancia().Primera = null;
                ModeloCompraBoleto.getInstancia().Segunda = null;
                ModeloCompraBoleto.getInstancia().Estado  = null;
                ModeloCompraBoleto.getInstancia().Vuelo   = 0;
                ModeloCompraBoleto.getInstancia().Fecha   = null;
                ModeloCompraBoleto.getInstancia().Avion   = 0;
                ModeloCompraBoleto.getInstancia().Aumento = 0;
                ModeloCompraBoleto.getInstancia().Codigo  = null;
                if (Request["Clase1"] != null)
                {
                    ModeloCompraBoleto.getInstancia().Primera = Request["Clase1"].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                }
                if (Request["Clase2"] != null)
                {
                    ModeloCompraBoleto.getInstancia().Segunda = Request["Clase2"].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                }
                ModeloCompraBoleto.getInstancia().Estado = Request["estado"];
                ModeloCompraBoleto.getInstancia().Fecha  = DateTime.Now.ToString();
                ModeloCompraBoleto.getInstancia().Vuelo  = int.Parse(Request["idVuelo"]);
                ModeloCompraBoleto.getInstancia().Avion  = int.Parse(Request["idAvion"]);
                int     d = int.Parse(ModeloAvion.getInstancia().buscar(int.Parse(Request["idAvion"])).idAerolinea.ToString());
                Decimal p = Convert.ToDecimal(ModeloAerolinea.getInstancia().buscar(d).precio);
                ModeloCompraBoleto.getInstancia().Aumento = Convert.ToDecimal(p);
                ModeloCompraBoleto.getInstancia().Codigo  = Guid.NewGuid().ToString();


                return(RedirectToAction("../Boleto/Guardar"));
            }
            catch {
                return(View());
            }
        }
        public ActionResult Edit(int id, Vuelo v)
        {
            try
            {
                if (Request["mensaje"].Equals("si"))
                {
                    ModeloVuelo.getInstancia().editarEstado(id, Request["estadoVuelo"]);
                    int dato = int.Parse(ModeloVuelo.getInstancia().buscar(id).idAvion.ToString());
                    foreach (var a in ModeloAsiento.getInstancia().consultaAvion(dato))
                    {
                        ModeloAsiento.getInstancia().editar(a.idAsiento, "disponible");
                    }
                    foreach (var a in ModeloBoleto.getInstancia().consultarExistencia(id))
                    {
                        ModeloBoleto.getInstancia().editar(a.idBoleto, "Cancelado");
                    }
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModeloVuelo.getInstancia().eliminar(ModeloVuelo.getInstancia().buscar(id));
                    v.idVuelo   = id;
                    v.horaVuelo = Request["horaVuelo"];
                    v.destino   = Request["destino"];
                    v.fecha     = Request["fecha"];
                    v.estado    = Request["estadoVuelo"];
                    v.idAvion   = int.Parse(ModeloAvion.getInstancia().buscarAvion(Request["listaAvion"]).idAvion.ToString());

                    ModeloVuelo.getInstancia().agregar(v);
                    return(RedirectToAction("Index"));
                }
            }
            catch
            {
                return(View());
            }
        }