Ejemplo n.º 1
0
        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.")));
        }
Ejemplo n.º 3
0
        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."));
            }
        }