Ejemplo n.º 1
0
        public EPersona asignarRol(int id, Rol rol)
        {
            EPersona ep = iPersona.getPersona(id);

            if (rol == Rol.Admin)
            {
                iAdmin.addAdmin(ep.id);
                return(ep);
            }
            if (rol == Rol.Conductor)
            {
                iConductor.addConductor(ep.id, new DateTime(1900, 10, 10)); // 10/10/1900 significa NULL
                return(ep);
            }
            if (rol == Rol.Usuario)
            {
                iUsuario.addUsuario(ep.id);
                return(ep);
            }
            return(ep);
        }
Ejemplo n.º 2
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);
        }