public List <List <TOURNEE_ETAPE> > GetEtapes(LIGNE ligne, ARRET arretDepart, ARRET arretArrivee) { using (TRANSPORT_PUBLICContext context = new TRANSPORT_PUBLICContext()) { List <List <TOURNEE_ETAPE> > returnedValue = new List <List <TOURNEE_ETAPE> >(); var tourneeEtapes = context.TOURNEE_ETAPEs.Where(te => te.PARCOURS_ETAPE.PARCOURS.LIGNE.ID == ligne.ID && te.PARCOURS_ETAPE.ARRET.ID == arretDepart.ID); foreach (var tourneeEtape in tourneeEtapes.OrderBy(p => p.HEURE_REEL)) { List <TOURNEE_ETAPE> listTourneeEtapes = new List <TOURNEE_ETAPE>(); var tourneeEtapeFin = context.TOURNEE_ETAPEs.SingleOrDefault(te => te.ID_TOURNEE == tourneeEtape.ID_TOURNEE && te.PARCOURS_ETAPE.ARRET.ID == arretArrivee.ID); if (tourneeEtapeFin != null) { listTourneeEtapes.Add(tourneeEtape); listTourneeEtapes.AddRange(context.TOURNEE_ETAPEs.Where(te => te.ID_TOURNEE == tourneeEtape.ID_TOURNEE && te.PARCOURS_ETAPE.ORDRE > tourneeEtape.PARCOURS_ETAPE.ORDRE && te.PARCOURS_ETAPE.ORDRE < tourneeEtapeFin.PARCOURS_ETAPE.ORDRE)); listTourneeEtapes.Add(tourneeEtapeFin); returnedValue.Add(listTourneeEtapes); } } return(returnedValue); } }
public List <LIGNE> Search(ARRET depart, ARRET arrivee, DateTime horaire) { TransportPublicParcoursEtapeOperation parcoursEtape = new TransportPublicParcoursEtapeOperation(_context); IQueryable <PARCOURS_ETAPE> testDepart = null; var dateMax = horaire.AddDays(1); while (!testDepart.SafeAny() && horaire < dateMax) { var heure = $"{horaire.Hour.ToString("00")}{horaire.Minute.ToString("00")}"; testDepart = parcoursEtape.GetAll().Where(etp => etp.ID_ARRET == depart.ID && etp.TOURNEE_ETAPE.Any(te => te.HEURE == heure)); horaire = horaire.AddMinutes(1); } if (testDepart != null) { var testArrivee = parcoursEtape.GetAll().Where(etp => etp.ID_ARRET == arrivee.ID); return(testDepart.Where(etp => testArrivee.Any(etp2 => etp2.ID_PARCOURS == etp.ID_PARCOURS && etp2.ORDRE > etp.ORDRE)) .Select(etp => etp.PARCOURS.LIGNE) .Distinct() .ToList()); } return(null); }
public BusStop Load(ARRET data) { Id = data.ID; Name = data.NOM; Latitude = data.COORD_Y; Longitude = data.COORD_X; return(this); }
public List <LIGNE> Search(ARRET depart, ARRET arrivee) { TransportPublicParcoursEtapeOperation parcoursEtape = new TransportPublicParcoursEtapeOperation(_context); IQueryable <PARCOURS_ETAPE> testDepart = null; testDepart = parcoursEtape.GetAll().Where(etp => etp.ID_ARRET == depart.ID); if (testDepart != null) { var testArrivee = parcoursEtape.GetAll().Where(etp => etp.ID_ARRET == arrivee.ID); return(testDepart.Where(etp => testArrivee.Any(etp2 => etp2.ID_PARCOURS == etp.ID_PARCOURS && etp2.ORDRE > etp.ORDRE)) .Select(etp => etp.PARCOURS.LIGNE) .Distinct() .ToList()); } return(null); }
public PARCOURS GetByLigneEtArrets(LIGNE ligne, ARRET arretDepart, ARRET arretTerminus) { return(GetAll().SingleOrDefault(p => p.ID_LIGNE == ligne.ID && p.ID_ARRET_DEPART == arretDepart.ID && p.ID_ARRET_TERMINUS == arretTerminus.ID)); }
public PARCOURS_ETAPE GetByParcoursArret(PARCOURS parcours, ARRET arret) { return(GetAll().SingleOrDefault(pe => pe.ID_PARCOURS == parcours.ID && pe.ID_ARRET == arret.ID)); }