lixiaojun
2025-02-17 f4a5f0c3fc24136294eec0153ec0605529243388
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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; }
 
 
    }
}