Example #1
0
        public void iniciarViaje(int idViaje, TimeSpan horaInicioR)
        {
            iViaje.iniciarViaje(idViaje, horaInicioR);
            int idP = iLinea.getLinea(iSalida.getSalidas(iViaje.getViaje(idViaje).IdSalida).IdLinea).Tramo.ToList().First().IdParada;

            iLllegada.addLlegada(idP, idViaje, horaInicioR, iViaje.getViaje(idViaje).Fecha);
        }
Example #2
0
        private bool isFinalParada(int idParada, int idViaje)
        {
            List <ETramo> trsDVje = iLinea.getLinea(iSalida.getSalidas(iViaje.getViaje(idViaje).IdSalida).IdLinea).Tramo.ToList();
            ETramo        tramo   = trsDVje.Last();

            if (tramo.IdParada == idParada)
            {
                return(true);
            }
            return(false);
        }
Example #3
0
        public List <DTOubicacion> ubicarVehiculo()
        {
            List <DTOubicacion> lstDto = new List <DTOubicacion>();

            List <ELlegada> lstLL = iLlegada.getAllLlegadas();

            foreach (var l in lstLL)
            {
                DTOubicacion dtou = new DTOubicacion();

                dtou.matricula = iVehiculo.getVehiculos(iSalida.getSalidas(iViaje.getViaje(l.idViaje).IdSalida).IdVehiculo).Matricula;
                dtou.lat       = iParada.getParada(l.idParada).Lat;
                dtou.lon       = iParada.getParada(l.idParada).Long;
                dtou.hora      = l.hora;
                dtou.fecha     = l.fecha;
                lstDto.Add(dtou);
            }

            List <string> matriculas = new List <string>();

            foreach (var dtoo in lstDto)
            {
                matriculas.Add(dtoo.matricula);
            }
            List <string> matriculasUncas = matriculas.Distinct().ToList();

            List <DTOubicacion> lstdtoFinal = new List <DTOubicacion>();

            foreach (var matU in matriculasUncas)
            {
                DTOubicacion ultimaFechaYHoras = ultimaFechaYHora(matU, lstDto);
                lstdtoFinal.Add(ultimaFechaYHoras);
            }

            return(lstdtoFinal);
        }
Example #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="idViaje"></param>
        /// <param name="idUsuario"> -1 si el usuario no esta logeado. </param>
        /// <param name="idParadaOrigen"></param>
        /// <param name="idParadaDestino"></param>
        /// <param name="tipoDoc"> "vacio" si el usaurio esta logeado.</param>
        /// <param name="documento"> "vacio" si el usaurio esta  logeado.</param>
        /// <param name="asiento"> Se gurdara -1 si, el costo de pasaje es inferior al parĂ¡metro.</param>
        /// <returns></returns>
        public EPasaje comprarPasaje(int idViaje, int idUsuario, int idParadaOrigen, int idParadaDestino, string tipoDoc, string documento, int asiento)
        {
            EViaje ev = iViaje.getViaje(idViaje);

            if (ev == null)
            {
                return(null);            //Si no encuentra el viaje retorna null
            }
            ESalida es = iSalida.getSalidas(ev.IdSalida);

            if (es == null)
            {
                return(null);            //Si no encuentra una salida retorna null
            }
            ELinea el = iLinea.getLinea(es.IdLinea);

            if (el == null)
            {
                return(null);            //Si no encuentra una linea retorna null
            }
            List <ETramo> tramos     = el.Tramo.ToList <ETramo>();
            int           posOrigen  = -1;
            int           posdestino = -1;

            foreach (var t in tramos)
            {
                if (t.IdLinea == el.IdLinea && t.IdParada == idParadaOrigen)
                {
                    posOrigen = tramos.IndexOf(t);
                }
                if (t.IdLinea == el.IdLinea && t.IdParada == idParadaDestino)
                {
                    posdestino = tramos.IndexOf(t);
                }
            }

            List <ETramo> subTramos = new List <ETramo>();

            for (int e = posOrigen; e <= posdestino; e++)
            {
                subTramos.Add(tramos.ElementAt(e));
            }

            int cosotP = 0;

            foreach (var s in subTramos)
            {
                cosotP = cosotP + iTramo.valorVigente(s.IdLinea, s.IdParada);
            }

            EParametro epara = iParametro.getAllParametros().Last();

            if (epara.Valor > cosotP)
            {
                asiento = -1;
            }

            EPasaje ep = new EPasaje();

            if (idUsuario == -1) //Usuario NOO logeado
            {
                ep = iPasaje.addPasaje(asiento, documento, tipoDoc, idViaje, idParadaDestino, idParadaOrigen, idUsuario);
            }
            else //Usuario Logeado
            {
                EPersona epe = iPersona.getPersona(idUsuario);
                string   strTipoDoc;
                if (epe.TipoDocumento == 1)
                {
                    strTipoDoc = "CI";
                }
                else
                {
                    strTipoDoc = "Credencial";
                }

                ep = iPasaje.addPasaje(asiento, epe.Documento, strTipoDoc, idViaje, idParadaDestino, idParadaOrigen, idUsuario);

                EPersona eper    = iPersona.getPersona(idUsuario);
                string   correoE = eper.Correo;



                enviarCorreo(correoE, ep.IdPasaje.ToString(), eper, ep, cosotP);//generar pdf con codigo QR y enviarlo
            }

            return(ep);
        }