public static decimal GetTotal( Func<DateTime, DateTime, HierarchyId, HierarchyId, decimal> totalFunc, DateTime startDate, DateTime endDate, HierarchyId activityNode, HierarchyId centreNode, HierarchyId[] nodes) { return activityNode == null ? nodes.Sum(a => totalFunc(startDate, endDate, a, centreNode)) : totalFunc(startDate, endDate, activityNode, centreNode); }