none
Filtro em MVC 5 com SQL, todos subordinados de um colaborador RRS feed

  • 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
    segunda-feira, 22 de julho de 2019 18:56

Todas as Respostas

  • Como esta a estrutura da tabela?
    Consegue postar aqui quais são as colunas?
    terça-feira, 23 de julho de 2019 11:48
  • 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

    terça-feira, 23 de julho de 2019 12:38
  • 
    terça-feira, 23 de julho de 2019 12:43
  • Relação 'FK_dbo.Colaboradors_dbo.Colaboradors_Superior_ColaboradorId' entre 'Colaboradors' e 'Colaboradors'

    

    terça-feira, 23 de julho de 2019 12:46
  • Olá pessoal, ainda preciso de ajuda não sei fazer isso...
    quarta-feira, 24 de julho de 2019 18:59
  • // 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.

    quinta-feira, 25 de julho de 2019 13:22
  • // 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>


    quinta-feira, 25 de julho de 2019 13:29