public ActionResult verificarP(int id) { EPasaje ep = new EPasaje(); ep.IdParadaOrigen = id; return(View(ep)); }
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); }
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); }
/// <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); } }
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()); } }
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; } }
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; } }
public ActionResult verificarP(EPasaje ep) { Session["isValid"] = Task.Run(() => pxc.verificarPasaje(ep.IdPasaje, ep.IdParadaOrigen, Session["tokenJWT"].ToString())).Result; return(RedirectToAction("pasajeValido")); }
/// <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); }
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); } } }
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); }
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(); }