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); }
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); }
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); }
/// <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); }