/// <summary> /// Do reporting of individuals /// </summary> /// <returns></returns> private void ReportHerd() { // warning if the same individual is in multiple filter groups it will be considered more than once foreach (var fgroup in this.FindAllChildren <RuminantGroup>()) { ListStatistics listStatistics = SummariseAttribute(AttributeTag, true, fgroup); if (listStatistics != null) { LastStatistics = new RuminantAttributeStatisticsEventArgs() { GroupName = fgroup.Name, Statistics = listStatistics }; ReportItemGenerated(LastStatistics); } } }
/// <summary> /// Report item generated and ready for reporting /// </summary> /// <param name="e"></param> protected virtual void ReportItemGenerated(RuminantAttributeStatisticsEventArgs e) { OnReportItemGenerated?.Invoke(this, e); }