Exemplo n.º 1
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();
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
 public Way Load(TOURNEE data)
 {
     Id = data.ID;
     SetSteps(Container.TPManager.TransportPublicTourneeEtapeOperation.GetByWay(Id).Select(i => new WayStep().Load(i)));
     return(this);
 }