Inquiridor
Filtro em MVC 5 com SQL, todos subordinados de um colaborador

Pergunta
-
Tenho uma aplicação MVC 5, Colaborador e seu Superior, agora eu quero exibir na Detalhes do Colaborador seus subordinados, os dois campos são da mesma tabela Colaborador, alguém pode me dar a dica?
- Editado RonaldoDR quarta-feira, 24 de julho de 2019 19:21
Todas as Respostas
-
-
Tabela: Colaboradors
ColaboradorId
Nome
CargoId
SuperiorId
...
Ex:
1, Ronaldo, Gerente, Null
2, Lucas, Assistente, 1
3, Erick, Analista, 1
Exibir no Detalhes do Colaborador:
Ronaldo - Gerente...
Subordinados
Erick - Analista
Lucas - Assistente
-
-
-
-
// GET: Colaboradors/Details/5 public ActionResult Details(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Colaborador colaborador = db.Colaboradors.Find(id); if (colaborador == null) { return HttpNotFound(); } return View(colaborador); }
Não sei fazer o código para exibir os subordinados deste colaborador, quero fazer uma tela igual a de atribuição.
-
// GET: Colaboradors/Details/5 public ActionResult Details(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Colaborador colaborador = db.Colaboradors.Find(id); if (colaborador == null) { return HttpNotFound(); } return View(colaborador); }
Não sei fazer o código para exibir os subordinados deste colaborador, quero fazer uma tela igual a de atribuição.
<div class="panel panel-default"> <div class="panel-heading">Subordinados</div> <div class="panel-body"> @if (Model.Superior.Count == 0) { <h5>Não há Subordinados cadastradas!</h5> } else { <table class="table"> <tr> <th> @Html.DisplayName("Apelido") </th> <th> @Html.DisplayName("Cargo") </th> <th> @Html.DisplayName("Departamento") </th> <th>Ação</th> </tr> @foreach (var item in Model.Superior) { <tr> <td> @Html.DisplayFor(modelItem => item.Superior.Apelido) </td> <td> @Html.DisplayFor(modelItem => item.Superior.Apelido) </td> <td> @Html.DisplayFor(modelItem => item.Superior.Cargo) </td> <td> @Html.DisplayFor(modelItem => item.Superior.Cargo) </td> <td> @Html.DisplayFor(modelItem => item.Superior.Departamento) </td> <td> @Html.DisplayFor(modelItem => item.Superior.Departamento) </td> <td> @Html.ActionLink("Edit", "EditSuperior", new { id = item.CompetenciaId }, new { @class = "dialog-window" }) | @Html.ActionLink("Details", "DetailsSuperior", new { id = item.CompetenciaId }, new { @class = "dialog-window" }) | @Html.ActionLink("Delete", "DeleteSuperior", new { id = item.CompetenciaId }) </td> </tr> } </table> } </div> </div>