public ActionResult Remover(IdCategoriaViewModel viewModel) { if (ModelState.IsValid) { Categoria categoria = db .Categorias .Include(c => c.Produtos) .ComId(viewModel.IdCategoria) .SingleOrDefault(); if (categoria == null) { return(View("Index", viewModel)); } if (categoria.Produtos.Any()) { return(View("Index", viewModel)); } db.RegistrarRemovido(categoria); db.SaveChanges(); return(Json(new { deletado = true })); } return(View("Index", viewModel)); }
public IActionResult Remover([FromBody] IdCategoriaViewModel viewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Categoria categoria = dbContext .Categoria .ComId(viewModel.IdCategoria) .SingleOrDefault(); if (categoria == null) { return(NotFound(this.MensagemErro("Categoria não encontrada."))); } if (dbContext.Produto.Any(p => p.IdCategoria == categoria.IdCategoria)) { return(BadRequest(this.MensagemErro("Não é possível remover esta categoria pois ela está vinculada a um produto."))); } dbContext.Remove(categoria); dbContext.SaveChanges(); return(Ok(this.MensagemSucesso("Categoria removida com sucesso."))); }
public ActionResult Remover(IdCategoriaViewModel viewModel) { if (!ModelState.IsValid) { this.ModelErrors(); } using (DbApplication db = new DbApplication()) { Categoria categoria = db .Categorias .Include(c => c.Produtos) .ComId(viewModel.Id) .SingleOrDefault(); if (categoria == null) { return(this.ErrorMessage("Categoria não encontrada.")); } if (categoria.Produtos.Count > 0) { return(this.ErrorMessage("A Categoria está associada a um produto.")); } db.RegistrarRemovido(categoria); db.Salvar(); return(this.Message("Categoria removida com sucesso.")); } }