Bu yazımızda Asp.net Mvc ile yorum cevap sistemi nasıl yapılır onu göstereceğiz.
İlk önce veri tabanıyla başlıyoruz. Veri tabanımıza Yorumlar tablosu oluşturuyoruz aşağıda görüldüğü gibi
Bu tabloda “ust_id” satırı dikkatinizi çekmiştir. “ust_id” satırı sınırsız yorum cevaplama imkanı sağlayacaktır. Bunu başka bir tabloyla da yapabilirdik biz burada daha net olması açısından bunu tercih ettik.
Aşağıdaki örnek tabloda yorum ve cevap mantığını anlatılmaktadır
Yukarıdaki sistemin mantığını anladınız.
Yorum kaydederken eğer kullanıcı yoruma cevap veriyorsa yorum bilgileri ile cevap yazılan yorumun id sini alıp veritabanımızda “ust_id” ye kaydediyoruz. Yoruma cevap verilmiyorsa “ust_id” null olarak kalacaktır.
Yorumları listeleme işlemi içinde ki bu en çok aranan bir konu aşağıdaki gibi helper yardımıyla yorumlarımızı listeliyoruz
@if (Model.Count<=0)
{
@:Henüz yorum yapılmamış ilk yorumu siz yapabilirsiniz.
}
@foreach (var mp in Model.Where(p => p.UstId == 0))
{
<div class="media" id="@mp.Id">
<div class="media-body">
<h5 class="media-heading">@mp.AdSoyad</h5>
<h6>@mp.Yorum</h6>
@RenderMenuItem(Model, mp)
</div>
</div>
}
@helper RenderMenuItem(List<Proje.Models.Yorumlar> menuList, Proje.Models.Yorumlar mi)
{
foreach (var cp in menuList.Where(p => p.UstId == mi.Id))
{
<div class="media" id="@cp.Id">
<div class="media-body">
<h5 class="media-heading">@cp.AdSoyad</h5>
<h6>@cp.Yorum</h6>
@RenderMenuItem(menuList, cp)
</div>
</div>
}
}