ASP.NET Core - CRUD com Master-Detail - V
Hoje vamos iniciar uma série de artigos onde veremos como realizar as operações CRUD em um contexto mestre-detalhes em uma aplicação ASP.NET Core. |
Continuando a quarta parte do artigo vamos criar as demais views para definir a interface com o usuário relacionadas as operações de incluir, alterar e editar de times.
Criando as views para o CRUD de times
Já criamos as views para exibir os times e membros e agora vamos criar as views relacionadas as operações CRUD.
Assim para o CRUD de times vamos criar as views a seguir na pasta /Views/Times :
Iniciando com a view _ExibirTime:
@model Time
<h2>Editar Time : @Model.Nome</h2>
<form method="post">
<table border="1" cellpadding="10">
<tr>
<td>Time ID :</td>
<td>@Model.TimeId</td>
</tr>
<tr>
<td>Nome :</td>
<td>@Model.Nome</td>
</tr>
<tr>
<td>Descrição :</td>
<td>@Model.Descricao</td>
</tr>
<tr>
<td colspan="2">
<input type="submit"
value="Edita"
asp-controller="Times"
asp-action="UpdateEntry"
asp-route-timeid="@Model.TimeId" />
<input type="submit"
value="Deleta"
asp-controller="Times"
asp-action="Delete"
asp-route-timeId="@Model.TimeId" />
<input type="submit"
value="Cancela"
asp-controller="Times"
asp-action="CancelSelection" />
</td>
</tr>
</table>
</form>
|
A view _ExibirTime é renderizada usando a tag <form> com a seguinte aparência :
Como você pode
ver, existem três botões na parte inferior: Edita, Deleta e Cancela.
O botão Edita envia o formulário para a action
UpdateEntry() de TimesController.
Também passamos o parâmetro de rota TimeId para a action UpdateEntry().
O botão Deleta envia o formulário para a action Delete()
de TimesController.
Também passamos o parâmetro de rota TimeId para a action Delete().
O botão Cancela envia o formulário para a action
CancelSelection().
A seguir temos o código da partial view _InserirTime.cshtml criada na pasta /Views/Times:
@model Time
<h2>Novo Time</h2>
<form method="post">
<table border="1" cellpadding="10">
<tr>
<td>Nome :</td>
<td>
<input type="text"
asp-for="Nome" />
</td>
</tr>
<tr>
<td>Descricão :</td>
<td>
<input type="text"
asp-for="Descricao" />
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit"
value="Salva"
asp-controller="Times"
asp-action="InsertSave" />
<input type="submit"
value="Cancela"
asp-controller="Times"
asp-action="CancelEntry" />
</td>
</tr>
</table>
</form>
|
Os botões Salva e Cancela irão acionar as action InsertSave e CancelEntry do controlador TimesController.
A seguir a view _AtualizarTime :
@model Time
<h2>Editar Time : @Model.Nome</h2>
<form method="post">
<table border="1" cellpadding="10">
<tr>
<td>Time ID :</td>
<td>
<input type="text"
asp-for="TimeId" readonly />
</td>
</tr>
<tr>
<td>Nome :</td>
<td>
<input type="text"
asp-for="Nome" />
</td>
</tr>
<tr>
<td>Descrição :</td>
<td>
<input type="text"
asp-for="Descricao" />
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit"
value="Salva"
asp-controller="Times"
asp-action="UpdateSave"
asp-route-timeId="@Model.TimeId" />
<input type="submit"
value="Cancela"
asp-controller="Times"
asp-action="CancelEntry"
asp-route-timeId="@Model.TimeId" />
</td>
</tr>
</table>
</form>
|
Esta view exibe o
registro do time selecionado para edição e possui dois botões - Salva e Cancela.
Ao clicar no botão Salva iremos enviar o formulário para a action
UpdateSave() de TimesController. Também passamos o parâmetro de rota TimeId para a action
UpdateSave().
O botão Cancela envia o formulário para a action CancelEntry() passando o
TimeId
para a action.
Isso completa as partial views relacionadas ao gerenciamento de times.
Na próxima parte vamos continuar focando na criação das views para criar a interface com o usuário em nosso projeto.
"O meu mandamento é este: Que vos ameis uns aos outros, assim como eu vos amei."
João 15:12
Referências:
NET - Unit of Work - Padrão Unidade de ...