次のように、Messages Answers ごとにメッセージをグループ化する必要があります。
- メッセージ ID = 1
- メッセージ回答 ID = 2 / 親メッセージ ID = 1
- メッセージ応答 ID = 3 / 親メッセージ ID = 1
メッセージ回答 ID = 4 / 親メッセージ ID = 1
メッセージ ID = 5
- メッセージ回答 ID = 6 / 親メッセージ ID = 5
- メッセージ回答 ID = 7 / 親メッセージ ID = 5
- メッセージ回答 ID = 8 / 親メッセージ ID = 5
メッセージ モデル:
public class Message
{
// Primary properties
public int Id { get; set; }
public string NameFrom { get; set; }
public string EmailFrom { get; set; }
public string TelephoneFrom { get; set; }
public string NameTo { get; set; }
public string EmailTo { get; set; }
public string TelephoneTo { get; set; }
public string Title { get; set; }
public string MessageText { get; set; }
public bool? Approved { get; set; }
public DateTime DateCreated { get; set; }
public DateTime? DateRead { get; set; }
// Navigation properties
public Member MemberFrom { get; set; }
public Member MemberTo { get; set; }
public MessageType MessageType { get; set; }
public Message MessageParent { get; set; }
public Ad Ad { get; set; }
public Ask Ask { get; set; }
}
ビューで表示するには:
@foreach (var item in Model)
{
<div class="message_link_container" id="linkmessage_@item.Id">
<ul class="estr_message" id="estrmessage_@item.Id">
<li id="email_@item.Id">
<p>@if(item.MessageParent_Id == 0){ if(string.IsNullOrEmpty(item.NameFrom)) { @item.EmailFrom } else { @item.NameFrom } }</p>
</li>
<li id="title_@item.Id">
<p>@item.Title</p>
</li>
<li id="date_@item.Id">
<p>@item.DateCreated</p>
</li>
</ul>
</div>
}