57 lines
1.4 KiB
C#
57 lines
1.4 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
|
|||
|
|
namespace CustomOpenAddins.Models
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 细类
|
|||
|
|
/// </summary>
|
|||
|
|
public class DetailItem : BaseItem
|
|||
|
|
{
|
|||
|
|
public DetailItem(string name, SubItem subItem) : base(name)
|
|||
|
|
{
|
|||
|
|
SubItem = subItem;
|
|||
|
|
MeasureTypes = new HashSet<Measurement>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public Measurement this[int index]
|
|||
|
|
{
|
|||
|
|
get => MeasureTypes.ElementAt(index);
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 细类,父级
|
|||
|
|
/// </summary>
|
|||
|
|
public SubItem SubItem { get; set; }
|
|||
|
|
public override string ToString()
|
|||
|
|
{
|
|||
|
|
StringBuilder sb = new StringBuilder($"{nameof(DetailItem)}:{Name};");
|
|||
|
|
if (MeasureTypes.Count == 0)
|
|||
|
|
{
|
|||
|
|
return sb.Append("无;").ToString();
|
|||
|
|
}
|
|||
|
|
foreach (var item in MeasureTypes)
|
|||
|
|
{
|
|||
|
|
sb.AppendLine($"{item}");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return sb.ToString();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public HashSet<Measurement> MeasureTypes { get; private set; }
|
|||
|
|
|
|||
|
|
public Measurement AddMeature(MeasurementUnit unit)
|
|||
|
|
{
|
|||
|
|
Measurement measure = new Measurement(unit, this);
|
|||
|
|
if (MeasureTypes == null)
|
|||
|
|
{
|
|||
|
|
MeasureTypes = new HashSet<Measurement>();
|
|||
|
|
}
|
|||
|
|
MeasureTypes.Add(measure);
|
|||
|
|
return measure;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|