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