public class Jjour
{
public int ID { get; set; }
public int? JpredmetId { get; set; }
public Jpredmet Jpredmet { get; set; }
public string IIN { get; set; }
public string FAM { get; set; }
public string IM { get; set; }
public string OTC { get; set; }
public int? OCENKA { get; set; }
public string NB { get; set; }
public DateTime? DAT { get; set; }
public string IINPREPOD { get; set; }
}
public class Jpredmet
{
public int ID { get; set; }
public string GR { get; set; }
public string PREDMETRU { get; set; }
public string PREDMETKZ { get; set; }
public int? SEMESTR { get; set; }
public string PREPODIIN { get; set; }
public ICollection<Jjour> Jjours { get; set; }
public Jpredmet()
{
Jjours = new List<Jjour>();
}
}
public IEnumerable<Jjour> Jjoursliv { get; set; }
public IEnumerable<Jpredmet> Jpredmets { get; set; }
public IEnumerable<Kontingent> Kontingents { get; set; }
public Jjour Jjourodn { get; set; }
public Jpredmet Jpredmetodn { get; set; }
Вот так сначала отображаю доступные предметы для авторизованного юзера.
public ActionResult Journallist()
{
var jlist = db.Jpredmets.Where(j => j.PREPODIIN == User.Identity.Name).ToList();
return View(jlist);
}
В представлении он выбирает один из предметов, в контроллер передается id предмета. Потом должен отобразиться
public ActionResult Journaldetail(int? id)
{
if (id == null)
{
return HttpNotFound();
}
var pr = db.Jpredmets.FirstOfDefault(gr => gr.ID == id).GR;
var kont = db.Kontingents.Where(k => k.GRUPPA == pr).ToList();
var jocenki = db.Jpredmets.Include(t => t.Jjours).FirstOrDefault(t => t.ID == id);
// var jocenki = db.Jjours.Include(o => o.JpredmetId == id).ToList();
Journalsliv jour = new Journalsliv();
jour.Kontingents = kont;
jour.Jjoursliv= jocenki;
return View(jour);
}
@model WebApplication13.Models.Journalsliv
@{
Layout = "~/Views/_lpt.cshtml";
}
<table class="tablesorter" id="Grd">
<thead>
<tr><th>FIO</th>
@foreach (var p in Model.Jjoursliv)
{
<th>@p.DAT</th>
}
</tr>
</thead>
<tbody>
@foreach (var roc in Model.Jjoursliv)
{
<tr>
<td>@roc.IIN</td>
@foreach (var roc2 in Model.Jjoursliv)
{
<td>@roc2.OCENKA</td>
}
</tr>
}
</tbody>
</table>
Должен выводиться примерно так
Но в реале выводится вот так
А в базе вот так
Знаю что делаю не правильно, так как в цикле оценка другого человека вставляется в строку другого человека. В этом не могу разобраться. Пробовал через массив но так вообще не получился