Beispiel #1
0
 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));
 }
Beispiel #4
0
        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();
                                }
                            }
                        }
                    }
                }
            }
        }