/// <summary> Gets report rows. </summary> /// <param name="items"> The items. </param> /// <param name="options"> Options for controlling the operation. </param> /// <returns> The report rows. </returns> private List <ReportRow> GetReportRows(IEnumerable <ActivityLogEntry> items, List <ReportOptions <ActivityLogEntry> > options) { var rows = new List <ReportRow>(); foreach (ActivityLogEntry item in items) { ReportRow rRow = GetRow(item); foreach (ReportOptions <ActivityLogEntry> option in options) { object itemColumn = option.Column != null?option.Column(item, rRow) : ""; object itemId = option.ItemID != null?option.ItemID(item) : ""; ReportItem rItem = new ReportItem { Name = ReportHelper.ConvertToString(itemColumn, option.Header.HeaderFieldType), Id = ReportHelper.ConvertToString(itemId, ReportFieldType.Object) }; rRow.Columns.Add(rItem); } rows.Add(rRow); } return(rows); }