Ejemplo n.º 1
0
        public ActionResult verificarP(int id)
        {
            EPasaje ep = new EPasaje();

            ep.IdParadaOrigen = id;
            return(View(ep));
        }
Ejemplo n.º 2
0
        static public Pasaje epasajeAPasaje(EPasaje Epas)
        {
            Pasaje pas = new Pasaje();

            pas.IdPasaje        = Epas.IdPasaje;
            pas.Asientos        = Epas.Asientos;
            pas.Documento       = Epas.Documento;
            pas.TipoDocuemtno   = Epas.TipoDocuemtno;
            pas.IdUsuario       = Epas.IdUsuario;
            pas.IdViaje         = Epas.IdViaje;
            pas.IdParadaDestino = Epas.IdParadaDestino;
            pas.IdParadaOrigen  = Epas.IdParadaOrigen;
            return(pas);
        }
Ejemplo n.º 3
0
        static public EPasaje pasajeAEPasaje(Pasaje pas)
        {
            EPasaje Epas = new EPasaje();

            Epas.IdPasaje        = pas.IdPasaje;
            Epas.Asientos        = pas.Asientos;
            Epas.Documento       = pas.Documento;
            Epas.TipoDocuemtno   = pas.TipoDocuemtno;
            Epas.IdUsuario       = pas.IdUsuario;
            Epas.IdViaje         = pas.IdViaje;
            Epas.IdParadaDestino = pas.IdParadaDestino;
            Epas.IdParadaOrigen  = pas.IdParadaOrigen;
            return(Epas);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// retorna true, si el id de la parada_Destino del pasaje con "idPasaje", coinside con "idParada"
        /// </summary>
        /// <param name="idPasaje"></param>
        /// <param name="idParada"></param>
        /// <returns></returns>
        public bool verificarPasaje(int idPasaje, int idParada)
        {
            EPasaje ep = iPasaje.getPasajes(idPasaje);

            //Console.WriteLine(idParada +" "+ ep.IdParadaOrigen);
            if (idParada == ep.IdParadaOrigen)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 5
0
 public IHttpActionResult comprarPasaje([FromBody] DTOComprarPasaje p)
 {
     try
     {
         EPasaje pasaje = cUsuario.comprarPasaje(p.idViaje, p.idUsuario, p.idParadaOrigen,
                                                 p.idParadaDestino, p.tipoDoc, p.documento, p.asiento);
         if (pasaje == null)
         {
             return(Content(HttpStatusCode.BadRequest, "¡No se pudo realizar la compra del pasaje!"));
         }
         return(Ok(pasaje));
     }
     catch (Exception)
     {
         return(NotFound());
     }
 }
Ejemplo n.º 6
0
 public EPasaje getPasajes(int idPasaje)
 {
     try
     {
         using (uybusEntities db = new uybusEntities())
         {
             Pasaje pas = db.Pasaje.Find(idPasaje);
             if (pas == null)
             {
                 EPasaje p = new EPasaje();
                 p.IdParadaOrigen = -1;
                 return(p);
             }
             return(Converter.pasajeAEPasaje(pas));
         }
     }
     catch (System.Exception ex)
     {
         Console.WriteLine("Error en DAL_Pasaje, en getPasajes " + ex.Message);
         throw ex;
     }
 }
Ejemplo n.º 7
0
        public List <EPasaje> getAllPasajes()
        {
            try
            {
                using (uybusEntities db = new uybusEntities())
                {
                    List <EPasaje> lstEp = new List <EPasaje>();

                    var Pasajes = db.Pasaje;

                    foreach (var p in Pasajes)
                    {
                        EPasaje pas = Converter.pasajeAEPasaje(p);
                        lstEp.Add(pas);
                    }
                    return(lstEp);
                }
            }
            catch (System.Exception ex)
            {
                Console.WriteLine("Error en DAL_Pasaje,  en getAllPasaje" + ex.Message);
                throw ex;
            }
        }
Ejemplo n.º 8
0
 public ActionResult verificarP(EPasaje ep)
 {
     Session["isValid"] = Task.Run(() => pxc.verificarPasaje(ep.IdPasaje, ep.IdParadaOrigen, Session["tokenJWT"].ToString())).Result;
     return(RedirectToAction("pasajeValido"));
 }
Ejemplo n.º 9
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);
        }
Ejemplo n.º 10
0
        private void enviarCorreo(string correo, string IDPasaje, EPersona eepersona, EPasaje eepasaje, int costo)//generar pdf con codigo QR y enviarlo
        {
            using (MailMessage emailMessage = new MailMessage())
            {
                emailMessage.From = new MailAddress("*****@*****.**", "UruguayBus");
                emailMessage.To.Add(new MailAddress(correo, "Pasajero")); //correo del pasajero
                emailMessage.Subject = "UruguayBus";
                emailMessage.Body    = "";
                MemoryStream ms = getPdfconQR(IDPasaje, eepersona, eepasaje, costo);

                emailMessage.Attachments.Add(new Attachment(ms, "pasaje.pdf"));

                emailMessage.Priority = MailPriority.Normal;
                using (SmtpClient MailClient = new SmtpClient("smtp.gmail.com", 587))
                {
                    MailClient.EnableSsl   = true;
                    MailClient.Credentials = new System.Net.NetworkCredential("*****@*****.**", "E4#r6%t,#.2E5g8");
                    MailClient.Send(emailMessage);
                }
            }
        }
Ejemplo n.º 11
0
        private MemoryStream getPdfconQR(string IDPasaje, EPersona epersona, EPasaje epasaje, int costo)
        {
            string orign       = iParada.getParada(epasaje.IdParadaOrigen).Nombre;
            string destino     = iParada.getParada(epasaje.IdParadaDestino).Nombre;
            string linea       = iLinea.getLinea(iSalida.getSalidas(iViaje.getViaje(epasaje.IdViaje).IdSalida).IdLinea).Nombre;
            string matricula   = iVehiculo.getVehiculos(iSalida.getSalidas(iViaje.getViaje(epasaje.IdViaje).IdSalida).IdVehiculo).Matricula;
            string fechaViajeL = iViaje.getViaje(epasaje.IdViaje).Fecha.ToString();

            string fechaViaje = fechaViajeL;
            int    index      = fechaViaje.IndexOf(" ");

            if (index > 0)
            {
                fechaViaje = fechaViaje.Substring(0, index);
            }



            string hora = iSalida.getSalidas(iViaje.getViaje(epasaje.IdViaje).IdSalida).HoraInicio.ToString();

            Document doc = new Document(PageSize.A5, 18, 18, 16, 0);

            MemoryStream ms  = new MemoryStream();
            PdfWriter    pdf = PdfWriter.GetInstance(doc, ms);

            //PdfWriter.GetInstance(doc, new FileStream(outputFile, FileMode.Create));

            doc.Open();
            BarcodeQRCode barcodeWrcode = new BarcodeQRCode(IDPasaje, 1000, 1000, null);
            Image         codeQRImga    = barcodeWrcode.GetImage();

            codeQRImga.ScaleAbsolute(200, 200);


            ////string outputFile2 = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), @"pdf", "uybus.png");
            //string outputFile2 = Path.Combine(Environment.CurrentDirectory, @"..\..\..\BuisnessLayer\pdf\uybus.png");

            //Image image = Image.GetInstance(outputFile2);
            //image.ScaleAbsoluteHeight(42.0f * 1.88f);
            //image.ScaleAbsoluteWidth(185.2f * 2.07f);
            //image.Alignment = Element.ALIGN_CENTER;
            //doc.Add(image);


            BaseFont bf = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);

            Font      fontText = new Font(bf, 20, 0, BaseColor.BLACK);
            Paragraph par1     = new Paragraph("Estimado pasajero, ha recibido su pasaje.", fontText);

            par1.Alignment = Element.ALIGN_CENTER;
            doc.Add(par1);

            Font fontText2 = new Font(bf, 15, 0, BaseColor.BLACK);

            Paragraph par0 = new Paragraph("UruguayBus 2020 le desea buen viaje.", fontText2);

            par0.Alignment = Element.ALIGN_CENTER;
            doc.Add(par0);

            Paragraph p = new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(0.0F, 100.0F, BaseColor.BLACK, Element.ALIGN_LEFT, 1)));

            doc.Add(p);

            DateTime ahora = DateTime.Now;

            ahora = ahora.Subtract(new TimeSpan(03, 0, 0)); // seteo tiempo a estedos unidos

            Paragraph paragraphs = new Paragraph(new Phrase("Enviado: " + ahora));

            paragraphs.Alignment = Element.ALIGN_RIGHT;
            doc.Add(paragraphs);

            doc.Add(new Paragraph("Pasajero: " + epersona.pNombre + " " + epersona.pApellido));
            doc.Add(new Paragraph("Documento: " + epersona.Documento));
            if (epasaje.Asientos != null)
            {
                if (epasaje.Asientos != -1)
                {
                    doc.Add(new Paragraph("Asiento: " + epasaje.Asientos));
                }
            }

            doc.Add(new Paragraph("Linea: " + linea));
            doc.Add(new Paragraph("Origen: " + orign));
            doc.Add(new Paragraph("Destino: " + destino));
            doc.Add(new Paragraph("Salida: " + fechaViaje + " " + hora));
            doc.Add(new Paragraph("Matricula: " + matricula));



            doc.Add(new Paragraph("Costo: " + costo + " UYU"));

            //doc.Add(new Chunk("\n"));

            Paragraph p3 = new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(0.0F, 100.0F, BaseColor.BLACK, Element.ALIGN_LEFT, 1)));

            doc.Add(p3);

            Font fontText4 = new Font(bf, 10, 0, BaseColor.BLACK);

            doc.Add(new Paragraph("Presente el siguiente código QR al chofer.", fontText4));


            codeQRImga.Alignment = Element.ALIGN_CENTER;
            doc.Add(codeQRImga);

            pdf.CloseStream = false;
            doc.Close();
            ms.Position = 0;

            return(ms);
        }
Ejemplo n.º 12
0
        static void Main(string[] args)
        {
            IBL_Admin      bla        = new BL_Admin(new DAL_Linea(), new DAL_Parada(), new DAL_Salida(), new DAL_Vehiculo(), new DAL_Conductor(), new DAL_Tramo(), new DAL_Precio(), new DAL_Viaje());
            IBL_Usuario    blu        = new BL_Usuario(new DAL_Persona(), new DAL_Usuario(), new DAL_Linea(), new DAL_Salida(), new DAL_Tramo(), new DAL_Viaje(), new DAL_Pasaje(), new DAL_Parametro(), new DAL_Parada(), new DAL_Llegada(), new DAL_Vehiculo());
            IBL_Invitado   bli        = new BL_Invitado(new DAL_Persona(), new DAL_Usuario());
            IBL_General    blg        = new BL_General(new DAL_Viaje(), new DAL_Llegada(), new DAL_Salida(), new DAL_Linea(), new DAL_Tramo(), new DAL_Parada(), new DAL_Pasaje(), new DAL_Usuario(), new DAL_Vehiculo(), new DAL_Persona(), new DAL_Admin(), new DAL_Conductor(), new DAL_SuperAdmin());
            IBL_Conductor  iConductor = new BL_Conductor(new DAL_Viaje(), new DAL_Pasaje(), new DAL_Llegada(), new DAL_Tramo(), new DAL_Salida(), new DAL_Linea());
            IBL_SuperAdmin bls        = new BL_SuperAdmin(new DAL_Persona(), new DAL_Usuario(), new DAL_Admin(), new DAL_Conductor(), new DAL_Llegada(), new DAL_Parada(), new DAL_Salida(), new DAL_Vehiculo(), new DAL_Viaje());

            // ----------------- Testeado -------------------
            //EUsuario eu = bli.registrarse("55615808", "*****@*****.**", "1234", 1, "Carlos", "Mauro","Gonzalez","Perez");//testeado
            //EPersona ep = bls.asignarRol(1,Rol.Conductor);//testeada
            //bla.gestionConductores(1,new DateTime(2021,10,10));//testeada
            //EParada pa = bla.crearParada("Parada2", -34.333432, -56.324321);//testeado
            //ELinea el = bla.crearLinea("B");//testeado
            //EVehiculo ev = bla.crearVehiculos( "Mercedez-benz", "we3", "ABC1234", 42);//testeado
            //EVehiculo eve = bla.editarVehiculos("Mercedez-benz", "ert", "ABC1234", 42);//testeado
            //ESalida es = bla.crearSalida(1, "ABC1234", 1, new TimeSpan(8, 30, 00)); //testeada

            /*
             * List<Dias> dias = new List<Dias>();
             * dias.Add(Dias.Lunes);
             * Console.WriteLine(dias.First());
             * List<EViaje> viajes = bla.crearViajes(new DateTime(2020,10,2), new DateTime(2020, 10, 30), dias, 1); //testeado
             */
            //ETramo et = bla.crearTramos(1,1,1000,15,new DateTime(2019,04,04));//testeada
            //ELlegada ell = blg.CrearLlegada(2, 2, new TimeSpan(03, 03, 03));//Testeada

            //blc.iniciarViaje(1, new TimeSpan(20,0,0)); //testeado
            //blg.finalizarViaje(1);//testeado

            /*
             * List<DTOubicacion> lstdto = bls.ubicarVehiculo();
             * foreach (var l in lstdto)
             * {
             *  Console.WriteLine(l.hora + " " + l.lat +" "+ l.lon +" "+ l.matricula);//testeado
             * }*/

            // EPasaje ep = blu.comprarPasaje(1, 2, 1, 2, "null", "null", 2); //testeado

            EPasaje ep = blu.comprarPasaje(1, 2, 2, 5, "CI", "43338737", 18); //testeado

            //Console.WriteLine(blc.verificarPasaje(1, 1));//testeado
            //List<DTOproxVehiculo>  pv = blu.proximoVehiculo(2, 3);//testeado

            /*List<EPasaje> pasajes = blg.reposrtesPasajes(new DateTime(2020,12,01), new DateTime(2020,12,04),1,-1,-1); //testeado
             * foreach (var pasaje in pasajes)
             * {
             *  Console.WriteLine(pasaje.IdPasaje);
             * }*/
            /*List<EUsuario> usuarios =  blg.notificacionProximidad(1, 1);
             * foreach (var usuario in usuarios)
             * {
             *  Console.WriteLine(usuario.Id);
             * }*/

            //Console.WriteLine(blg.reporteUtilidad(1, new DateTime(2020,12,01),new DateTime(2020,12,04), -1, -1));//testeado


            // ----------------- Falta testear -------------------

            //foreach (var item in blu.GetFechasViajes(1))
            //{
            //  Console.WriteLine(item.IdSalida);

            // }

            //blu.canSelectSeat(1, 1, 2);

            /*
             * foreach (var item in blu.sinTerminales())
             * {
             *  Console.WriteLine(item.IdParada);
             * }*/
            //Console.WriteLine(blg.CrearLlegada(2,new TimeSpan(10,22,00), new DateTime(2020 , 12 , 03)));



            Console.WriteLine("\nPrecione Enter  para finalizar.");
            Console.Read();
        }