private bool RunValidation(bool showUI = true) { bool valid = false; List <string> displayLines = new List <string>(); displayLines.Add(string.Format("{0,-10} {1,-20} {2,-40} {3,-15} {4,-15}\n", "Type", "Name", "Binary", "Version", "Status")); if (null != configUpdateStatus) { this.configUpdateStatus.Clear(); } this.configUpdateStatus = GenerateConfigUpdateStatusList(); for (int k = 0; k < configUpdateStatus.Keys.Count; ++k) { string binType = configUpdateStatus.Keys.ElementAt(k); var tupleList = configUpdateStatus[binType]; for (int i = 0; i < tupleList.Count; ++i) { if (binType != ScoutName) { ModuleInfo mi = tupleList[i].Item2 as ModuleInfo; displayLines.Add(string.Format("{0,-10} {1,-20} {2,-40} {3,-15} {4,-15}\n", binType, tupleList[i].Item1, mi.BinaryName(), mi.GetDesiredVersion() == null ? "na" : mi.GetDesiredVersion(), tupleList[i].Item3 ? BinaryStatus_Repo_Update : BinaryStatus_OK)); } else { Platform.DeviceScout.ScoutInfo si = tupleList[i].Item2 as Platform.DeviceScout.ScoutInfo; displayLines.Add(string.Format("{0,-10} {1,-20} {2,-40} {3,-15} {4,-15}\n", binType, tupleList[i].Item1, si.DllName, si.DesiredVersion == null ? "na" : si.DesiredVersion, tupleList[i].Item3 ? BinaryStatus_Repo_Update : BinaryStatus_OK)); } } } if (displayLines.Count > 1) { if (showUI) { ValidationStatusForm validationStatusForm = new ValidationStatusForm(displayLines); if (validationStatusForm.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { } } valid = !ContainsInvalidStatus(displayLines); } return(valid); }