public async Task <ActionResult> IniciarViaje(Viaje dto)
        {
            try
            {
                await cp.IniciarViaje(dto.id);

                Session["idViajeIniciado"] = dto.id;

                Viaje v = await gp.obtenerViaje(dto.id);

                int idLinea = v.horario.linea.id;

                ICollection <Parada> lstParada = await gp.obtenerParadasDeLinea(idLinea);

                await cp.RegistrarPasoPorParada(lstParada.First().id, dto.id);

                Session["idUltimaParada"] = lstParada.First().id;

                return(View("index"));
            }
            catch
            {
                Usuario             u         = Session["datosLogeados"] as Usuario;
                ICollection <Viaje> lstViajes = await cp.ListarViajesDelDia(u.id);

                ViewBag.listaViaje = lstViajes;

                return(View("IniciarViaje"));
            }
        }
        public async Task <JsonResult> ListarParadasDeLineaAjax(int id)
        {
            try
            {
                ICollection <Parada> paradas = await gp.obtenerParadasDeLinea(id);

                List <SelectListItem> lstRet = paradas
                                               .Select(x => new SelectListItem()
                {
                    Text  = "" + x.nombre,
                    Value = "" + x.id
                }).ToList();
                return(Json(lstRet, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(new List <SelectListItem>(), JsonRequestBehavior.AllowGet));
            }
        }