/// <summary> /// Converts the results of this instance into a single /// string using the supplied delimeter. /// </summary> /// <param name="itemFormat">The format for each execution step. /// Use '{Message}' in the format string to locate the message. /// Use '{StepType}' in the format string to locate the step type name. /// Do not include any other format specifications /// (IE. '{1}', '{2}', etc...)</param> /// <param name="delimeter">A string to place between each item.</param> /// <returns>A string containing all execution steps /// in this instance.</returns> /// <example> /// An example of a call to a business component from a web page that /// contains a Label control called 'messageLabel'. /// <code> /// ExecutionResults result = SomeClass.SomeMethod(arg1); /// messageLabel.Text = result.ToString( /// "{StepType}: {Message}", "<BR>"); /// </code> /// <code> /// ExecutionResults result = new ExecutionResults(); /// SomeClass.SomeMethod(arg1, result); /// messageLabel.Text = result.ToString( /// "{StepType}: {Message}", "<BR>"); /// </code> /// </example> public string ToString(string itemFormat, string delimeter) { if (itemFormat == null) { itemFormat = "{StepType} : {Message}"; } if (delimeter == null) { delimeter = string.Empty; } StringBuilder sb = new StringBuilder(); for (int i = 0; i < this.messages_.Count; i++) { ExecutionStep item = this.messages_[i]; string stepTypeName = Enum.GetName(typeof(ExecutionStepType), item.StepType); sb.Append(itemFormat .Replace("{StepType}", stepTypeName) .Replace("{Message}", item.Message)); if (delimeter.Length > 0) { sb.Append(delimeter); } } if (delimeter.Length > 0 && sb.Length > delimeter.Length) { //remove last delimeter sb.Remove(sb.Length - delimeter.Length, delimeter.Length); } return(sb.ToString()); }
/// <summary> /// Combines the results of another ExecutionResults into this instance. /// </summary> /// <param name="results">The results to be combined.</param> public void Combine(ExecutionResults results) { if (results == null) { throw new ArgumentNullException("results"); } if (results == this) { return; } for (int i = 0; i < results.messages_.Count; i++) { ExecutionStep step = results.messages_[i]; this.messages_.Add(step); if (step.StepType == ExecutionStepType.Error) { this.success_ = false; } } }