namespace HStation.WinFrmUI
|
{
|
/// <summary>
|
/// 精度比例视图
|
/// </summary>
|
public class SimulationPrintAccuracyScaleViewModel
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public SimulationPrintAccuracyScaleViewModel() { }
|
|
/// <summary>
|
///
|
/// </summary>
|
public SimulationPrintAccuracyScaleViewModel(List<SimulationPrintAccuracyItemViewModel> allItemList)
|
{
|
var items = allItemList?.Where(x => x.EvaluateError.HasValue).ToList();
|
if (items == null || items.Count < 1)
|
{
|
return;
|
}
|
this.AvgError = Math.Round(items.Average(x => x.EvaluateError.Value), 1);
|
var groupList = items.GroupBy(x => x.EvaluateItem).ToList();
|
this.Items = new List<SimulationPrintAccuracyScaleItemViewModel>();
|
foreach (var group in groupList)
|
{
|
var item = new SimulationPrintAccuracyScaleItemViewModel
|
(group.Key, group.Count(), group.Average(x => x.EvaluateError.Value));
|
this.Items.Add(item);
|
}
|
}
|
|
/// <summary>
|
/// 平均误差
|
/// </summary>
|
public double? AvgError { get; set; }
|
|
/// <summary>
|
/// 子级列表
|
/// </summary>
|
public List<SimulationPrintAccuracyScaleItemViewModel> Items { get; set; }
|
|
|
}
|
}
|