在我的MVC项目中,我有一个层次树辅助类,它在层次树视图中呈现对象。到目前为止,我已经设法列出了一个“事件”列表。对象类型,包括无限量的子事件。
此外,事件(或子事件)对象可以包含一个或多个警报。我希望我的分层树也为所有事件呈现所有警报。我的HierarchyTree助手类只接受一种类型的Object。这是配置我的节点的代码,目前接受事件对象
u.Events = GetBLLFactory().EventLogic().GetEventsByTemplateID(id.Value).ExtractFromResult();
var eventconfig = new HierarchyTreeItemPropertyConfig<Event>()
{
GetIDFunc = e => e.EventID,
GetNameFunc = e => e.Name,
GetParentIDFunc = e => e.ParentEventID,
GetSortOrderFunc = e => e.SortOrder.Value,
SetNameFunc = (e, name) => e.Name = name,
SetParentIDFunc = (e, parentID) => e.ParentEventID = parentID,
SetSortOrderFunc = (e, order) => e.SortOrder = order,
};
u.EventHierarchyTree = u.Events.ToHierarchyTree(eventconfig);
这是我的模型中的代码,也是围绕Event对象构建的:
public class TemplateItemModel
{
public HierarchyTree<Event> EventHierarchyTree { get; set; }
}
此外,这些是我的对象属性:
警报
public class Alert : BaseEntity
{
public int? AlertID { get; set; }
public int EventID { get; set; }
public string Name { get; set; }
public string Color { get; set; }
public DateTime? Date { get; set; }
public string Description { get; set; }
public string Status { get; set; }
}
事件
public class Event : BaseEntity
{
public int? EventID { get; set; }
public int TemplateID { get; set; }
public int? UserRoleID { get; set; }
public int? ParentEventID { get; set; }
public string Name { get; set; }
public string Color { get; set; }
public string Description { get; set; }
public string Status { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public int? Duration { get; set; }
public int? SortOrder { get; set; }
}
我的问题是,如何将一个对象作为事件或警报来提供我的HierarchyTree助手对象。我希望我的HierarchyTree以正确的层次结构顺序呈现两种对象类型:
活动&gt; SubEvent&gt;警报
活动&gt;警报
我非常确定接口是我需要的,但是我对接口的经验很少,我无法弄清楚如何将接口提供给这个Hierarchy助手: - (
非常感谢提前!