CRUD ASP.net CORE – 07 Excluir Registros
O próximo passo é desenvolver a funcionalidade de exclusão de registros. Como é uma ação destrutiva realizada pelo sistema, devemos solicitar uma confirmação do usuário antes de realizar a ação para isso vamos utilizar uma biblioteca Javascript chamada http://bootboxjs.com/
Para incluir essa biblioteca Javascript em nosso projeto, vamos utilizar o Libman que é um aplicativo do .net Core para gerenciamento de dependências. Então vamos seguir o manual: https://docs.microsoft.com/pt-br/aspnet/core/client-side/libman/libman-cli?view=aspnetcore-2.2
O primeiro passo é utilizar o comando abaixo para instalar o Libman em nosso projeto:
dotnet tool install -g Microsoft.Web.LibraryManager.Cli
Depois de instalar, feche o CMD e abra novamente!!!
O próximo passo é executar o comando abaixo para iniciar o gerenciamento de bibliotecas em nosso projeto:
libman init
Será apresentada mensagens questionando os endereços padrões para buscar as bibliotecas, basta teclar <enter> em todas as perguntas.
Será criado o arquivo libman.json em seu projeto.
Para instalar a biblioteca vamos executar o comando:
libman install bootbox.js@4.4.0
Agora devemos incluir a biblioteca dentro do arquivo de _layout.cshtml para que seja carregado junto de cada página da aplicação.
Agora vamos incluir o código para excluir o registro, primeiro vamos colocar um ID no tag TABLE.
Em seguida vamos incluir o botão para acionar a ação de excluir.
<button class=’btn btn-danger btn-lg js-delete’ data-customer-id=”@item.Id”>
Excluir
</button>
Então vamos incluir o código javascript para acionar a biblioteca de alert.
@section Scripts {
<script type=”text/javascript”>
$(document).ready(function(){
$(“#clientes”).on(“click”, “.js-delete”, function(){
var button = $(this);
bootbox.confirm(“Você tem certeza que quer excluir este cliente?”,function(result){
if(result){
$.ajax({
url: “/Client/Delete/” + button.attr(“data-customer-id”),
method: “GET”,
success: function () {
window.location.href = “/Client/”
}
});
}
});
});
});
</script>
}
Então vamos alterar nosso serviço para incluir o método de delete.
O código fonte do método delete no serviço
Por fim vamos alterar o código do controlador
[HttpGet]
public IActionResult Delete(int Id)
{
this.ClientService.Delete(Id);
return RedirectToAction(“Index”);
}