CTCOfficeGUI.TableViewScreen.GetBlockFailureStateString C# (CSharp) Méthode

GetBlockFailureStateString() private méthode

Gets the failure state string for the given track block
There are 8 different possible strings, so this chunk of code gets ugly
private GetBlockFailureStateString ( TrackBlock block ) : string
block TrackBlock Track block
Résultat string
        private string GetBlockFailureStateString(TrackBlock block)
        {
            string failString = string.Empty; 
            //Check all 8 possible states
            if (!block.Status.BrokenRail && !block.Status.CircuitFail && !block.Status.PowerFail)
            {
                failString = "none";
            }
            else if (!block.Status.BrokenRail && !block.Status.CircuitFail && block.Status.PowerFail)
            {
                failString = "Power Failure";
            }
            else if (!block.Status.BrokenRail && block.Status.CircuitFail && !block.Status.PowerFail)
            {
                failString =  "Circuit Failure";
            }
            else if (!block.Status.BrokenRail && block.Status.CircuitFail && block.Status.PowerFail)
            {
                failString = "Circuit & Power Failure";
            }
            else if (block.Status.BrokenRail && !block.Status.CircuitFail && !block.Status.PowerFail)
            {
                failString = "Broken Rail";
            }
            else if (block.Status.BrokenRail && !block.Status.CircuitFail && block.Status.PowerFail)
            {
                failString = "Broken Rail & Power Failure";
            }
            else if (block.Status.BrokenRail && block.Status.CircuitFail && !block.Status.PowerFail)
            {
                failString = "Broken Rail & Circuit Failure";
            }
            else if (block.Status.BrokenRail && block.Status.CircuitFail && block.Status.PowerFail)
            {
                failString = "Broken Rail, Circuit, & Power Failure";
            }

            return failString;
        }
        #endregion