private static string getWorkflowInfo(Item itemElement)
{
var sb = new StringBuilder();
var iw = itemElement.State.GetWorkflow();
if (iw != null)
{
sb.Append(iw.Appearance.DisplayName);
}
var ws = itemElement.State.GetWorkflowState();
if (ws != null)
{
sb.AppendFormat(" ({0})", ws.DisplayName);
}
if (iw != null)
{
IEnumerable<WorkflowEvent> events = iw.GetHistory(itemElement).OrderByDescending(e => e.Date);
var enumerator = events.GetEnumerator();
if (enumerator.MoveNext())
{
var span = DateTime.Now.Subtract(enumerator.Current.Date);
sb.AppendFormat(" for {0} days {1} hours {2} minutes", span.Days, span.Hours, span.Minutes);
}
}
return sb.ToString();
}