添加项目文件。
This commit is contained in:
65
ExportExcelTest/Models/SubItem.cs
Normal file
65
ExportExcelTest/Models/SubItem.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
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);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user