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”); 

        }