using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CustomOpenAddins.Models { /// /// 二级开项 /// public class SubItem : BaseItem { public SubItem(string name, PrimaryItem primary) : base(name) { Primary = primary; DetailCategories = new HashSet(); } public DetailItem this[int index] { get => DetailCategories.ElementAt(index); } public PrimaryItem Primary { get; set; } public override string ToString() { StringBuilder sb = new StringBuilder($"<子项>{Name};"); if (DetailCategories.Count == 0) { return sb.Append("无;").ToString(); } foreach (var item in DetailCategories) { sb.AppendLine($"{item}"); } return sb.ToString(); } public HashSet DetailCategories { get; private set; } public DetailItem AddDetail(string detailName) { DetailItem detail = new DetailItem(detailName, this); if (DetailCategories == null) { DetailCategories = new HashSet(); } DetailCategories.Add(detail); return detail; } public void AddDetails(List details) { if (DetailCategories == null) { DetailCategories = new HashSet(); } details.ForEach(x => { x.SubItem = this; DetailCategories.Add(x); }); } } }