private static IEnumerable <ReportColumn> GetColumns(IDetailItem repDetail) { var query = repDetail.Children.Where(col => col.IsColumn).Union( repDetail.Children.Where(col => col.IsColumn == false).SelectMany(GetColumns)); return(query.Select(det => (ReportColumn)(det))); }
private void WriteReportDetail(IDetailItem repDetail, int level, int maxLevel, int columnNumber) { if (!repDetail.IsRoot) { _report.AddCell(repDetail.Text, columnNumber, level, TextStyle.TableHeaderGreyCenterdBorder); } if (repDetail.IsColumn) { _report.MergeRegion(level, level + maxLevel, columnNumber, columnNumber); _report.SetColumnWidth(columnNumber, ((ReportColumn)(repDetail)).Width); } else { if (!repDetail.IsRoot) { _report.MergeRegion(level, level, columnNumber, repDetail.LeafCount + columnNumber - 1); } int prevLeavCount = 0; foreach (IDetailItem child in repDetail.Children) { WriteReportDetail(child, level + 1, repDetail.ChildrenCountLevels - 1, columnNumber + prevLeavCount); prevLeavCount += child.LeafCount; } } }
public static object GetLangugageSwitchParameters(RouteValueDictionary values, string langauge, IDetailItem model) { if (values == null) { return(new { }); } return(new { originalController = values["controller"].ToString(), language = langauge, originalAction = values["action"].ToString(), type = model?.Type, id = model?.Id }); }