private string ProcessListEventsCommand(Command command)
{
DateTime eventDate = DateTime.ParseExact(
command.Arguments[0],
DateTimeFormat,
CultureInfo.InvariantCulture);
int numberOfElementsToList = int.Parse(command.Arguments[1]);
// BOTTLENECK: Converting an IEnumerable<T> collection to List collection can be slow
// when the elements in the IEnumerable<T> collection are not stored
// in a collection that implements IList<T>.
// FIX: In this case no convertion is neeed because IEnumrabl<T> collection can be
// traversed with a foreach loop.
IEnumerable<Event> events = this.eventsManager.ListEvents(eventDate, numberOfElementsToList);
if (events.Count() != 0)
{
StringBuilder output = new StringBuilder();
foreach (Event currentEvent in events)
{
output.AppendLine(currentEvent.ToString());
}
return output.ToString().Trim();
}
else
{
return NoEventsFoundMessage;
}
}