public LineOfBus Load(LIGNE data) { Id = data.ID; Name = data.NOM; Number = data.NUMERO; return(this); }
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 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)); }
private static void InitBus() { for (int i = 300; i <= 301; i++) { //var completeFileName = $@"C:\Users\alexandre.schmitt\Desktop\mobiliteit-lu-horaires-arrets\data\AVL---_{i}.LIN"; var prefixe = "RGM"; var completeFileName = $@"C:\Users\alexandre.schmitt\Desktop\mobiliteit-lu-horaires-arrets\data\{prefixe}---_{i}.LIN"; using (TransportPublicManager mgr = new TransportPublicManager()) { LIGNE ligne; PARCOURS parcours = null; TOURNEE tournee = null; PARCOURS_ETAPE parcoursEtape; short index = 1; foreach (var ligneFichier in File.ReadAllLines(completeFileName)) { string[] infoLigneBus; if (ligneFichier.StartsWith("*L")) { tournee = null; parcours = null; infoLigneBus = ligneFichier.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); var numeroLigneBus = Int16.Parse(infoLigneBus[1]); var arretDepart = mgr.TransportPublicArretOperation.GetByReference(infoLigneBus[2]); var arretTerminus = mgr.TransportPublicArretOperation.GetByReference(infoLigneBus[3]); ligne = mgr.TransportPublicLigneOperation.GetByNumber(numeroLigneBus); if (ligne == null) { ligne = new LIGNE() { NUMERO = Int16.Parse(infoLigneBus[1]), NOM = $"{prefixe} - Ligne {infoLigneBus[1]}" }; ligne = mgr.TransportPublicLigneOperation.Add(ligne); mgr.Save(); } parcours = mgr.TransportPublicParcoursOperation.GetByLigneEtArrets(ligne, arretDepart, arretTerminus); if (parcours == null) { parcours = new PARCOURS() { ID_LIGNE = ligne.ID, ID_ARRET_DEPART = arretDepart.ID, ID_ARRET_TERMINUS = arretTerminus.ID, REFERENCE = $"{ligne.NOM} - {arretDepart.NOM} - {arretTerminus.NOM}" }; parcours = mgr.TransportPublicParcoursOperation.Add(parcours); mgr.Save(); } } else if (!ligneFichier.StartsWith("*")) { if (tournee == null) { tournee = new TOURNEE(); tournee = mgr.TransportPublicTourneeOperation.Add(tournee); index = 1; } if (tournee != null) { var infoTournee = ligneFichier.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); var arret = mgr.TransportPublicArretOperation.GetByReference(infoTournee[0]); parcoursEtape = mgr.TransportPublicParcoursEtapeOperation.GetByParcoursArret(parcours, arret); if (parcoursEtape == null) { parcoursEtape = new PARCOURS_ETAPE() { ID_ARRET = arret.ID, ID_PARCOURS = parcours.ID, ORDRE = index }; parcoursEtape = mgr.TransportPublicParcoursEtapeOperation.Add(parcoursEtape); mgr.Save(); index++; } if (parcoursEtape != null) { mgr.TransportPublicTourneeEtapeOperation.Add(new TOURNEE_ETAPE() { ID_PARCOURS_ETAPE = parcoursEtape.ID, ID_TOURNEE = tournee.ID, HEURE = infoTournee.First(p => p.StartsWith("0")).Substring(1) }); mgr.Save(); } } } } } } }