需求:界面中DataGrid系結ItemResult。MultiItemAbnormal是例外診斷。MultiItemAbnormalDetail是專案和例外診斷的關聯表。
根據界面顯示的值,匹配出正確的例外診斷建議?
不僅僅是專案Id要相同,是否啟用也是判斷條件。
public class ItemResult
{
public ItemResult(int id, string name, bool isEnable)
{
this.ItemId = id;
this.Name = name;
this.IsEnable = isEnable;
}
/// <summary>
/// 專案Id
/// </summary>
public int ItemId { get; set; }
/// <summary>
/// 專案名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 是否啟用
/// </summary>
public bool IsEnable { get; set; }
public static List<ItemResult> DataSource
{
get
{
return new List<ItemResult>()
{
new ItemResult (10001,"CEA",false),
new ItemResult (10002,"AFP",true),
new ItemResult (10003,"TPSA",true),
new ItemResult (10005,"CA72-4",false),
new ItemResult (10007,"CTFRA21-1",true),
new ItemResult (10008,"CA-125",true)
};
}
}
}
public class MultiItemAbnormal
{
public MultiItemAbnormal(int id, int dId, int sId, List<MultiItemAbnormalDetail> list)
{
this.AbnormalId = id;
this.DiagnosisId = dId;
this.SuggestionId = sId;
this.Details = list;
}
/// <summary>
/// 例外Id
/// </summary>
public int AbnormalId { get; set; }
/// <summary>
/// 診斷Id
/// </summary>
public int DiagnosisId { get; set; }
/// <summary>
/// 建議Id
/// </summary>
public int SuggestionId { get; set; }
private List<MultiItemAbnormalDetail> details;
public List<MultiItemAbnormalDetail> Details
{
get
{
return details;
}
set
{
if (details == null)
details = new List<MultiItemAbnormalDetail>();
details = value;
}
}
public static List<MultiItemAbnormal> DataSource
{
get
{
return new List<MultiItemAbnormal>()
{
new MultiItemAbnormal (3,8319,4476,MultiItemAbnormalDetail.DataSourceFirst),
new MultiItemAbnormal (4,10626,4748,MultiItemAbnormalDetail.DataSourceSecond),
new MultiItemAbnormal (5,12626,5136,MultiItemAbnormalDetail.DataSourceThird)
};
}
}
}
public class MultiItemAbnormalDetail
{
public MultiItemAbnormalDetail(int id, int iId, bool isEnable)
{
this.AbnormalId = id;
this.ItemId = iId;
this.IsEnable = isEnable;
}
/// <summary>
/// 例外Id
/// </summary>
public int AbnormalId { get; set; }
/// <summary>
/// 專案Id
/// </summary>
public int ItemId { get; set; }
/// <summary>
/// 是否啟用
/// </summary>
public bool IsEnable { get; set; }
public static List<MultiItemAbnormalDetail> DataSourceFirst
{
get
{
return new List<MultiItemAbnormalDetail>()
{
new MultiItemAbnormalDetail (3,10002,true),
new MultiItemAbnormalDetail (3,10001,false),
new MultiItemAbnormalDetail (3,10003,true)
};
}
}
public static List<MultiItemAbnormalDetail> DataSourceSecond
{
get
{
return new List<MultiItemAbnormalDetail>()
{
new MultiItemAbnormalDetail (4,10002,true),
new MultiItemAbnormalDetail (4,10001,false)
};
}
}
public static List<MultiItemAbnormalDetail> DataSourceThird
{
get
{
return new List<MultiItemAbnormalDetail>()
{
new MultiItemAbnormalDetail (5,10005,false),
new MultiItemAbnormalDetail (5,10008,true)
};
}
}
}
uj5u.com熱心網友回復:
漏了一個條件:如果結果中出現【包含】關系,輸出專案數量符合多的診斷資訊例如:A{10001,10002,10003},B{10001,10002}同時滿足,則輸出A的診斷資訊
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/234708.html
標籤:C#
