Files
MsAddIns/ExportExcelTest/Models/SubItem.cs

66 lines
1.7 KiB
C#
Raw Normal View History

2026-02-28 21:01:57 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CustomOpenAddins.Models
{
/// <summary>
/// 二级开项
/// </summary>
public class SubItem : BaseItem
{
public SubItem(string name, PrimaryItem primary) : base(name)
{
Primary = primary;
DetailCategories = new HashSet<DetailItem>();
}
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<DetailItem> DetailCategories { get; private set; }
public DetailItem AddDetail(string detailName)
{
DetailItem detail = new DetailItem(detailName, this);
if (DetailCategories == null)
{
DetailCategories = new HashSet<DetailItem>();
}
DetailCategories.Add(detail);
return detail;
}
public void AddDetails(List<DetailItem> details)
{
if (DetailCategories == null)
{
DetailCategories = new HashSet<DetailItem>();
}
details.ForEach(x =>
{
x.SubItem = this;
DetailCategories.Add(x);
});
}
}
}