public bool GetDevices(string directory) { try { string[] files = Directory.GetFiles(directory); //Parallel.ForEach( // files, f => foreach (var f in files) { try { ECUMetaData d = new ECUMetaData(this, f); if (d.isBase) { d.Populate(); } lock (DefDictionary) { if (DefDictionary.ContainsKey(d.calibrationlId)) { Trace.WriteLine("Duplicate definition found for: " + d.calibrationlId + " in file: " + f + " Check the definitions!!"); Trace.WriteLine("Definition was previously found in file: " + DefDictionary[d.calibrationlId].filePath); } else { DefDictionary.Add(d.calibrationlId, d); lock (IdentList) { IdentList.Add(d.calibrationlId); DeviceCount++; } } } } catch (System.Exception excpt) { Trace.WriteLine("Error reading XML file " + f); Trace.WriteLine(excpt.Message); } } //}); List <string> directories = Directory.GetDirectories(directory).ToList(); //Parallel.ForEach( // directories, d => foreach (var d in directories) { if (!GetDevices(d)) { return(false); } } // }); return(true); } catch (System.Exception excpt) { Trace.WriteLine(excpt.Message); } return(false); }
public bool GetDevices(string directory) { try { string[] files = Directory.GetFiles(directory); //Parallel.ForEach( // files, f => foreach(var f in files) { try { ECUMetaData d = new ECUMetaData(this, f); if(d.isBase) d.Populate(); lock(DefDictionary) { if (DefDictionary.ContainsKey(d.calibrationlId)) { Trace.WriteLine("Duplicate definition found for: " + d.calibrationlId + " in file: " + f + " Check the definitions!!"); Trace.WriteLine("Definition was previously found in file: " + DefDictionary[d.calibrationlId].filePath); } else { DefDictionary.Add(d.calibrationlId, d); lock (IdentList) { IdentList.Add(d.calibrationlId); DeviceCount++; } } } } catch (System.Exception excpt) { Trace.WriteLine("Error reading XML file " + f); Trace.WriteLine(excpt.Message); } } //}); List<string> directories = Directory.GetDirectories(directory).ToList(); //Parallel.ForEach( // directories, d => foreach(var d in directories) { if (!GetDevices(d)) { return false; } }// }); return true; } catch (System.Exception excpt) { Trace.WriteLine(excpt.Message); } return false; }