Esempio n. 1
0
        public static void ImportDelayCombinations(object sender, DoWorkEventArgs e)
        {
            string filename = e.Argument as string;
            BackgroundWorker worker = sender as BackgroundWorker;
            DataContainer.NeuralNetwork.DelayCombinations = new Data.DelayCombinationCollection();

            CsvDefinition def = new CsvDefinition() { FieldSeparator = ',' };
            CsvFileReader<Record> reader = new CsvFileReader<Record>(filename, def);
            DateTime date = new DateTime();
            DelayDay day = new DelayDay();
            int count = 0;
            foreach (Record record in reader)
            {
                if (record.trainDate != date)
                {
                    if (DataContainer.NeuralNetwork.DelayCombinations.dict.ContainsKey(date))
                    {
                        DataContainer.NeuralNetwork.DelayCombinations.dict[date].AddRange(day.FormCombinations());
                    }
                    else
                    {
                        DataContainer.NeuralNetwork.DelayCombinations.dict.Add(date, day.FormCombinations());
                    }
                    date = record.trainDate;
                    day = new DelayDay();
                    worker.ReportProgress(0, new string[] { record.trainDate.ToString(), count.ToString() });
                }
                //if (record.delayCode != string.Empty)// || record.difference > 120)
                //{
                    Delay delay = new Delay();
                    delay.traincode = record.trainCode;
                    delay.WLCheader = record.WLCTrainCode;
                    delay.date = record.trainDate;
                    delay.delaycode = record.delayCode;
                    if (record.locationType == "D") { delay.destinationdelay = record.difference; }
                    else { delay.origindelay = record.difference; }

                    if (day.delays.ContainsKey(delay.traincode)) { ((Delay)day.delays[delay.traincode]).destinationdelay = delay.destinationdelay; }
                    else { day.delays.Add(delay.traincode, delay); }

                //}
                count++;

            }
        }
Esempio n. 2
0
        private string GetLine(Delay d)
        {
            string route;
            try
            {
                route = DataContainer.NeuralNetwork.HeaderRoutes[d.traincode][d.date];
            }
            catch { return "None";}
            switch(route)
            {
                case "1":
                    return "Belfast - Connolly";
                case "10":
                    return "DART";
                case "11":
                    return "IWT";
                case "12":
                    return "DFDS";
                case "13":
                    return "Timber";
                case "14":
                    return "Tara Mines";
                case "1a":
                    return "Northern Commuter";
                case "2":
                    return "Cork - Heuston";
                case "2a":
                    return "Heuston Commuter";
                case "3":
                    return "Tralee";
                case "4":
                    return "Limerick - Heuston";
                case "4a":
                    return "Limerick Junction - Limerick";
                case "4c":
                    return "Ballybrophy - Limerick";
                case "5":
                    return "Waterford - Heuston";
                case "5a":
                    return "Waterford - Limerick Junction";
                case "5b":
                    return "Rosslare - Waterford";
                case "6":
                    return "Rosslare - Connolly";
                case "7":
                    return "Galway - Heuston";
                case "8":
                    return "Westport - Heuston";
                case "9":
                    return "Sligo - Connolly";
                case "9a":
                    return "Maynooth Commuter";
                default:
                    return "None";

            }
        }