private void ShowRequestHistory(ClientRequestInfo requestInfo)
{
if (requestInfo.Request.Arguments.ContainsHelpRequest)
{
StringBuilder helpMessage = new StringBuilder();
helpMessage.Append("Displays a list of recent requests received from the clients.");
helpMessage.AppendLine();
helpMessage.AppendLine();
helpMessage.Append(" Usage:");
helpMessage.AppendLine();
helpMessage.Append(" History -options");
helpMessage.AppendLine();
helpMessage.AppendLine();
helpMessage.Append(" Options:");
helpMessage.AppendLine();
helpMessage.Append(" -?".PadRight(20));
helpMessage.Append("Displays this help message");
helpMessage.AppendLine();
helpMessage.AppendLine();
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, helpMessage.ToString());
}
else
{
StringBuilder responseMessage = new StringBuilder();
responseMessage.AppendFormat("History of requests received by {0}:", Name);
responseMessage.AppendLine();
responseMessage.AppendLine();
responseMessage.Append("Command".PadRight(20));
responseMessage.Append(' ');
responseMessage.Append("Received".PadRight(25));
responseMessage.Append(' ');
responseMessage.Append("Sender".PadRight(30));
responseMessage.AppendLine();
responseMessage.Append(new string('-', 20));
responseMessage.Append(' ');
responseMessage.Append(new string('-', 25));
responseMessage.Append(' ');
responseMessage.Append(new string('-', 30));
lock (m_clientRequestHistory)
{
foreach (ClientRequestInfo historicRequest in m_clientRequestHistory)
{
responseMessage.AppendLine();
responseMessage.Append(historicRequest.Request.Command.PadRight(20));
responseMessage.Append(' ');
responseMessage.Append(historicRequest.ReceivedAt.ToString(CultureInfo.InvariantCulture).PadRight(25));
responseMessage.Append(' ');
responseMessage.Append($"{historicRequest.Sender.ClientUser.Identity.Name} from {historicRequest.Sender.MachineName}".PadRight(30));
}
}
responseMessage.AppendLine();
responseMessage.AppendLine();
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, responseMessage.ToString());
}
}