예제 #1
0
        private DTOnextBus notificacionProximidad2(EParada Eparada, int viaje, TimeSpan hora)
        {
            int     Parada = Eparada.IdParada;
            ESalida salida = iSalida.getSalidas(iViaje.getViaje(viaje).IdSalida);

            string matric = iVehiculo.getVehiculos(salida.IdVehiculo).Matricula;


            DTOnextBus nextBus = new DTOnextBus();

            if (isFinalParada(Parada, viaje))
            {
                nextBus.matricula = "N/A";
                nextBus.parada    = "N/A";
                nextBus.hora      = "N/A";
                return(nextBus);
            }
            int idNextP = nextParadaNot(Parada, viaje);

            int      tiempo  = iTramo.getTramos(salida.IdLinea, idNextP).TiempoEstimado;
            TimeSpan minutes = TimeSpan.FromMinutes(tiempo);

            string horastr = hora.Add(minutes).ToString();

            nextBus.parada    = iParada.getParada(idNextP).Nombre;
            nextBus.matricula = matric;
            nextBus.hora      = horastr;

            return(nextBus);
        }
예제 #2
0
        //public string Baseurl = "https://localhost:44330/conductor/";

        public DTOnextBus llegada(DTOLegada llegada, string tokenJWT)
        {
            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokenJWT);
                string     URLespecial = ConfigurationManager.AppSettings["baseURL"] + "/general/llegada";
                var        response    = client.PostAsJsonAsync(URLespecial, llegada).Result;
                DTOnextBus returnValue = response.Content.ReadAsAsync <DTOnextBus>().Result;
                return(returnValue);
            }
        }
예제 #3
0
        public IHttpActionResult llegada([FromBody] DTOLegada llegada)
        {
            try
            {
                if (llegada == null)
                {
                    return(Content(HttpStatusCode.BadRequest, "No."));
                }

                DTOnextBus res = cGeneral.CrearLlegada(llegada.idViaje, TimeSpan.Parse(llegada.hora), Convert.ToDateTime(llegada.fecha));

                return(Ok(res));
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }
예제 #4
0
        public ActionResult ingresarHF(DTOLegada llegada)
        {
            DTOnextBus siguientes = pxc.llegada(llegada, Session["tokenJWT"].ToString());

            string sig = "";

            if (siguientes != null)
            {
                if (siguientes.matricula != "N/A")
                {
                    sig = "El ómnibus con matrícula (" + siguientes.matricula + "), Pasara por la parada (" + siguientes.parada + "), a las " + siguientes.hora + " hrs.";
                    var hubContext = GlobalHost.ConnectionManager.GetHubContext <Notificacion>();
                    hubContext.Clients.All.notificarUsr(sig);
                }
            }


            return(RedirectToAction("lstViajes"));
        }
예제 #5
0
        public DTOnextBus CrearLlegada(int idViaje, TimeSpan hora, DateTime fecha)
        {
            List <ETramo> tramos = iLinea.getLinea(iSalida.getSalidas(iViaje.getViaje(idViaje).IdSalida).IdLinea).Tramo.ToList();

            List <EParada> paradas = new List <EParada>(); //todas las paradas del viaje

            foreach (var tramo in tramos)
            {
                paradas.Add(iParada.getParada(tramo.IdParada));
            }

            List <ELlegada> llegadas = new List <ELlegada>(); //todas las llegadas del viaje

            foreach (var llegada in iLllegada.getAllLlegadas())
            {
                if (llegada.idViaje == idViaje)
                {
                    llegadas.Add(iLllegada.getLlegada(llegada.idParada, llegada.idViaje));
                }
            }

            int idUltParada = llegadas.Last().idParada; //ultima llegada por la que paso

            EParada proxP = iParada.getParada(idUltParada);

            int ord = orden(idUltParada, tramos);

            if (!isUltima(idUltParada, tramos))
            {
                proxP = nextParada(tramos, ord);

                if (isFinalParada(proxP.IdParada, idViaje))
                {
                    iViaje.finalizarViaje(idViaje);
                    iLllegada.addLlegada(proxP.IdParada, idViaje, hora, fecha);
                    DTOnextBus ee = new DTOnextBus();
                    ee.matricula = "N/A";
                    ee.hora      = "N/A";
                    ee.parada    = "N/A";
                    return(ee);
                }

                iLllegada.addLlegada(proxP.IdParada, idViaje, hora, fecha);

                DTOnextBus siguientesPjrs = notificacionProximidad2(proxP, idViaje, hora);
                return(siguientesPjrs);
            }
            else
            {
                if (isFinalParada(proxP.IdParada, idViaje))
                {
                    iViaje.finalizarViaje(idViaje);

                    iLllegada.addLlegada(proxP.IdParada, idViaje, hora, fecha);

                    DTOnextBus sigui = new DTOnextBus();
                    sigui.matricula = "N/A";
                    sigui.hora      = "N/A";
                    sigui.parada    = "N/A";
                    return(sigui);
                }

                iLllegada.addLlegada(proxP.IdParada, idViaje, hora, fecha);

                DTOnextBus siguientesPjrs = new DTOnextBus();
                siguientesPjrs.matricula = "N/A";
                siguientesPjrs.hora      = "N/A";
                siguientesPjrs.parada    = "N/A";
                return(siguientesPjrs);
            }
        }