public int ReadRoutes(string filename)
{
int routesRead = 0;
// write log
traceSource.TraceEvent(TraceEventType.Information, 1, "ReadRoutes started");
try
{
using (TextReader reader = new StreamReader(filename))
{
foreach (string[] linkAsString in reader.GetSplittedLines('\t'))
{
City city1 = cities.FindCity(linkAsString[0]);
City city2 = cities.FindCity(linkAsString[1]);
// only add links, where the cities are found
if ((city1 != null) && (city2 != null))
{
routes.Add(new Link(city1, city2, city1.Location.Distance(city2.Location),
TransportModes.Rail));
routesRead++;
}
}
// write log
traceSource.TraceEvent(TraceEventType.Information, 1, "ReadRoutes ended");
}
}
catch (Exception e)
{
traceSource.TraceEvent(TraceEventType.Critical, 2, "FileNotFound: " + e.StackTrace.ToString());
}
return routesRead;
}