private KeyValuePair<string, string> GetBlockFailureStateString(TrackBlock block)
{
KeyValuePair<string, string> pair;
//Check all 8 possible states
if (!block.Status.BrokenRail && !block.Status.CircuitFail && !block.Status.PowerFail)
{
pair = new KeyValuePair<string, string>("Failure State:", "none");
}
else if (!block.Status.BrokenRail && !block.Status.CircuitFail && block.Status.PowerFail)
{
pair = new KeyValuePair<string, string>("Failure State:", "Power Failure");
}
else if (!block.Status.BrokenRail && block.Status.CircuitFail && !block.Status.PowerFail)
{
pair = new KeyValuePair<string, string>("Failure State:", "Circuit Failure");
}
else if (!block.Status.BrokenRail && block.Status.CircuitFail && block.Status.PowerFail)
{
pair = new KeyValuePair<string, string>("Failure State:", "Circuit & Power Failure");
}
else if (block.Status.BrokenRail && !block.Status.CircuitFail && !block.Status.PowerFail)
{
pair = new KeyValuePair<string, string>("Failure State:", "Broken Rail");
}
else if (block.Status.BrokenRail && !block.Status.CircuitFail && block.Status.PowerFail)
{
pair = new KeyValuePair<string, string>("Failure State:", "Broken Rail & Power Failure");
}
else if (block.Status.BrokenRail && block.Status.CircuitFail && !block.Status.PowerFail)
{
pair = new KeyValuePair<string, string>("Failure State:", "Broken Rail & Circuit Failure");
}
else if (block.Status.BrokenRail && block.Status.CircuitFail && block.Status.PowerFail)
{
pair = new KeyValuePair<string, string>("Failure State:", "Broken Rail, Circuit, & Power Failure");
}
else
{
//Unreachable, but needed since pair is not nullable
pair = new KeyValuePair<string, string>();
}
return pair;
}