Esempio n. 1
0
        public async Task <ActionResult> RegistrarHorario(CrearHorariosModel dto)
        {
            try
            {
                ICollection <Linea> lineas = await gp.ListarLinea();

                ICollection <Conductor> Conductores = await ap.ListarConductores();

                ICollection <Vehiculo> Vehiculos = await gp.ListarVehiculos();

                ViewBag.listaLineas      = lineas;
                ViewBag.listaConductores = Conductores;
                ViewBag.listaVehiculos   = Vehiculos;

                if (!TryValidateModel(dto, nameof(CrearHorariosModel)))
                {
                    return(View("Horario/RegistrarHorario", dto));
                }

                Linea l = await gp.obtenerLinea(dto.idLinea);

                Vehiculo v = await gp.obtenerVehiculo(dto.idVehiculo);

                Conductor c = await gp.obtenerConductor(dto.idConductor);

                if (l == null || v == null || c == null)
                {
                    return(View("Horario/RegistrarHorario"));
                }

                Horario h = new Horario()
                {
                    hora = dto.hora,

                    linea     = l,
                    vehiculo  = v,
                    conductor = c
                };

                await ap.RegistrarHorario(h);

                return(RedirectToAction("ListarHorarios"));
            }
            catch
            {
                return(View("Horario/RegistrarHorario"));
            }
        }
        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));
            }
        }