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++; } }
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"; } }