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 <ActionResult> ComprarPasaje(ComprarPasajeModel cpm) { try { cpm.lineas = (List <Share.Entities.Linea>) await gp.ListarLinea(); cpm.precioElegirAsiento = await up.PrecioParaElegirAsiento(); // calidacion if (!TryValidateModel(cpm, nameof(ComprarPasaje))) { return(View(cpm)); } ConfirmarPagoModel confPago = new ConfirmarPagoModel() { fecha = cpm.fecha, idViaje = cpm.idViaje, idLinea = cpm.idLinea, idParadaOrigen = cpm.idParadaOrigen, idParadaDestino = cpm.idParadaDestino, asiento = cpm.asiento, precio = cpm.precio, nombreLinea = Task.Run(() => gp.obtenerLinea(cpm.idLinea)).Result.nombre, nombreParadaOrigen = Task.Run(() => gp.obtenerParada(cpm.idParadaOrigen)).Result.nombre, nombreParadaDestino = Task.Run(() => gp.obtenerParada(cpm.idParadaDestino)).Result.nombre, hora = Task.Run(() => gp.obtenerViaje(cpm.idViaje)).Result.horario.hora, }; return(View("ConfirmarPago", confPago)); } catch (Exception) { return(View(cpm)); } }