public async Task <ActionResult> Put(int id, Produto produto)
        {
            // Se o id do objeto não existir, ele retorna erro 400
            if (id != produto.IdProduto)
            {
                return(NotFound(new { mensagem = "Não é possível encontrar este produto." }));
            }


            try
            {
                await _repositorio.Alterar(produto);
            }
            catch (DbUpdateConcurrencyException)
            {
                // Verificamos se o objeto inserido realmente existe no banco
                var produto_valido = await _repositorio.BuscarPorId(id);

                if (produto_valido == null)
                {
                    return(NotFound(new { mensagem = "Não é possível alterar este produto." }));
                }
                else
                {
                    throw;
                }
            }
            // NoContent = retorna 204, sem nada
            return(NoContent());
        }
示例#2
0
        public JsonResult Alterar(Produto produto)
        {
            var alterou   = repository.Alterar(produto);
            var resultado = new { status = alterou };

            return(Json(resultado, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public ActionResult Edit(Produto objProdutoEdit)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    ProdutoRepository objProduto = new ProdutoRepository();

                    if (objProduto.Alterar(objProdutoEdit) == 1)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Ocorreu um erro ao alterar o produto.");
                    }
                }
            }
            catch
            {
                ModelState.AddModelError("", "Não foi possível alterar o produto.");
            }

            return(View(objProdutoEdit));
        }
        public async Task <ActionResult> Put(int id, Produto produto)
        {
            if (id != produto.ProdutoId)
            {
                return(BadRequest(new{ mensagem = "Erro na validação de produto por ID" }));
            }

            try
            {
                await repositorio.Alterar(produto);
            }
            catch (DbUpdateConcurrencyException ex)
            {
                var produto_valido = await repositorio.BuscarPorId(id);

                if (produto_valido == null)
                {
                    return(NotFound(new{ mensagem = "Nenhum produto encontrado para o ID informado" }));
                }
                else
                {
                    return(BadRequest(new{ mensagem = "Erro na alteração de dados por ID" + ex }));
                }
            }

            return(Accepted());
        }
示例#5
0
        public JsonResult Update(Produto produto)
        {
            var alterou   = repository.Alterar(produto);
            var resultado = new { status = alterou };

            return(Json(resultado));
        }
示例#6
0
        public async Task <ActionResult> Put(int id, [FromForm] Produto produto)
        {
            // Se o id do objeto não existir, ele retorna erro 400
            if (id != produto.IdProduto)
            {
                return(NotFound(new { mensagem = "Não é possível alterar este produto." }));
            }



            try
            {
                //alteração
                if (Request.Form.Files.Count != 0)
                {
                    var arquivo = Request.Form.Files[0];
                    produto.Imagem = _upRepositorio.Upload(arquivo, "Resources/Images");
                    await _repositorio.Alterar(produto);
                }
                else
                {
                    Produto produtoCadastrado = await _repositorio.BuscarPorId(int.Parse(Request.Form["IdProduto"]));

                    produto.Imagem = produtoCadastrado.Imagem;
                    await _repositorio.Alterar(produto);
                }
            }

            catch (DbUpdateConcurrencyException)
            {
                // Verificamos se o objeto inserido realmente existe no banco
                var produto_valido = await _repositorio.BuscarPorId(id);

                if (produto_valido == null)
                {
                    return(NotFound(new { mensagem = "Não é possível alterar este produto." }));
                }
                else
                {
                    throw;
                }
            }
            // NoContent = retorna 204, sem nada
            return(NoContent());
        }
示例#7
0
 public void AlterarProduto(ProdutoDTO produto)
 {
     using (IProdutoRepository ProdutoRepository = new ProdutoRepository())
     {
         Produto produtoEntity = ProdutoRepository.ObterPeloId(produto.Id);
         produtoEntity = _conversorEntityDTO.Value.Converter <ProdutoDTO, Produto>(produto, produtoEntity);
         ProdutoRepository.Alterar(produtoEntity);
     }
 }
示例#8
0
        public async Task <ActionResult> Put(int id, [FromForm] AlteraProdutoViewModel produto)
        {
            //Se o Id do objeto não existir
            //ele retorna o erro 400

            // if (id != produto.ProdutoId) {
            //     return BadRequest ();
            // }

            if (produto.Nome == null && produto.ImagemProduto == null)
            {
                return(NoContent());
            }

            var produtoid = await _repositorio.BuscarPorID(id);

            //Comparamos os atributos que foram modificados atraves do EF
            if (produtoid == null)
            {
                return(NotFound(
                           new {
                    Mensagem = "Produto Não Encontrada",
                    Erro = true
                }
                           ));
            }
            var ProdutoAlterado = VerificaAlteracaoProduto(produtoid, produto);

            try {
                // await _repositorio.Alterar(produto);
                var ret = await _repositorio.Alterar(ProdutoAlterado);

                return(Ok(
                           new{
                    Mensagem = "Produto alterado com sucesso",
                    Erro = false
                }
                           ));
            } catch (DbUpdateConcurrencyException) {
                //Verificamos se o objeto realmente existe no banco
                var produto_valido = await _repositorio.BuscarPorID(id);

                if (produto_valido == null)
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            // NoContent = retorna o erro 204, sem nada
            // return NoContent ();
        }
示例#9
0
        public async Task <ActionResult> Put(int id, [FromForm] Produto Produto)
        {
            //Se o Id do objeto não existir
            //ele retorna 400
            if (id != Produto.IdProduto)
            {
                return(BadRequest(
                           new {
                    Mensagem = "Id incompatível, Não foi possível fazer a atualização"
                }
                           ));
            }
            try {
                if (Request.Form.Files.Count != 0)
                {
                    var imagem = Request.Form.Files[0];
                    Produto.ImgProduto = _UploadImg.Upload(imagem, "Produtos");
                }
                else
                {
                    Produto produtoCadastrado = await _repositorio.BuscarPorID(int.Parse(Request.Form["IdProduto"]));

                    Produto.ImgProduto = produtoCadastrado.ImgProduto;
                }

                Produto.NomeProduto      = Request.Form["NomeProduto"].ToString();
                Produto.Disponibilidade  = decimal.Parse(Request.Form["Disponibilidade"]);
                Produto.DescricaoProduto = Request.Form["DescricaoProduto"].ToString();
                Produto.Organico         = bool.Parse(Request.Form["Organico"]);
                Produto.Preco            = decimal.Parse(Request.Form["Preco"]);
                Produto.Validade         = DateTime.Parse(Request.Form["Validade"]);

                await _repositorio.Alterar(Produto);
            } catch (DbUpdateConcurrencyException) {
                //Verificamos se o objeto inserido realmente existe no banco
                var Produto_valido = await _repositorio.BuscarPorID(id);

                if (Produto_valido == null)
                {
                    return(NotFound(
                               new {
                        Mensagem = "Não foi possível obter as informações"
                    }
                               ));
                }
                else
                {
                    throw;
                }
            }

            //NoContent = Retorna 204, sem nada
            return(NoContent());
        }
示例#10
0
        public ActionResult Alterar(Produto produto)
        {
            if (ModelState.IsValid)
            {
                _repository = new ProdutoRepository();
                _repository.Alterar(produto);

                TempData["Mensagem"] = string.Format($"{produto.Nome} foi alterado com sucesso.");

                return(RedirectToAction("Index"));
            }
            return(View(produto));
        }
示例#11
0
        /// <summary>
        /// Alteração de Produtos
        /// </summary>
        /// <param name="alteracao"></param>
        /// <returns></returns>
        public bool Alterar(AlteracaoProdutoDto alteracao)
        {
            if (alteracao is null)
            {
                throw new Exception("Produto inválido!");
            }

            var produto = AutoMapper <AlteracaoProdutoDto> .CopyTo <Produto>(alteracao);

            var produtoBd = Obter(produto.IdProduto);

            if (!string.IsNullOrWhiteSpace(produto.Descricao))
            {
                produtoBd.Descricao = produto.Descricao.Trim();
            }

            if (produto.Valor > 0)
            {
                produtoBd.Valor = produto.Valor;
            }

            if (produto.Imagem != null && produto.Imagem.Length > 0)
            {
                produtoBd.Imagem = produto.Imagem;
            }

            if (!string.IsNullOrWhiteSpace(produto.TipoImagem))
            {
                produtoBd.TipoImagem = produto.TipoImagem;
            }

            if (!produtoBd.IsValid(new ProdutoValidator(), out var errors))
            {
                throw new Exception(string.Join(",", errors));
            }

            if (_repository.VerificarProdutoExiste(produto.IdProduto))
            {
                return(_repository.Alterar(produtoBd));
            }

            throw new Exception("Produto não encontrado!");
        }
        public async Task <ActionResult> Put(int id, Produto produto)
        {
            if (id != produto.IdProduto)
            {
                return(BadRequest());
            }
            try {
                await _repositorio.Alterar(produto);
            } catch (DbUpdateConcurrencyException) {
                var produto_valido = await _repositorio.BuscarPorID(id);

                if (produto_valido == null)
                {
                    return(NotFound(new { mensagem = "Produto não valido", Erro = true }));
                }
                else
                {
                    throw;
                }
            }
            return(Ok("Não foi possivel realizar o cadastro"));
        }
        public IActionResult Edicao(EditarProdutoModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var produto = new Produto();
                    produto.IdProduto  = model.IdProduto;
                    produto.Nome       = model.Nome;
                    produto.Quantidade = model.Quantidade;
                    produto.Preco      = model.Preco;

                    var produtoRepository = new ProdutoRepository();
                    produtoRepository.Alterar(produto);
                    TempData["Mensagem"] = "Produto alterado com sucesso";
                }
                catch (Exception e)
                {
                    TempData["Mensagem"] = "Ocorreu um erro: " + e.Message;
                }
            }
            return(View());
        }
示例#14
0
        public async Task <ActionResult> Put(int id, Produto produto)
        {
            if (id != produto.IdProduto)
            {
                return(BadRequest());
            }
            _contexto.Entry(produto).State = EntityState.Modified;
            try{
                await _repositorio.Alterar(produto);
            }catch (DbUpdateConcurrencyException) {
                var produto_valido = await _repositorio.BuscarPorID(id);

                if (produto_valido == null)
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(NoContent());
        }
示例#15
0
        public async Task <ActionResult <Produto> > Put(int id, Produto produto)
        {
            if (id != produto.IdProduto)
            {
                return(BadRequest());
            }

            try {
                await _repositorio.Alterar(produto);
            } catch (DbUpdateConcurrencyException) {
                var categoria_valida = await _repositorio.BuscarPorID(id);

                if (produto == null)
                {
                    return(NotFound("Produto não encontrado"));
                }
                else
                {
                    throw;
                }
            }

            return(produto);
        }
示例#16
0
        ///<summary></summary>
        public static void AlterarProduto()
        {
            string           nome;
            ProdutoViewModel produtoASerAlterado = new ProdutoViewModel();
            ProdutoViewModel produtoJaAlterado   = new ProdutoViewModel();

            do
            {
                System.Console.Write("Nome do produto a ser alterado: ");
                nome = Console.ReadLine();
                if (!ValidacaoUtil.ValidarNome(nome))
                {
                    Mensagem.MostrarMensagem("Digite um nome de produto válido", TipoMensagemEnum.ALERTA);
                }
            } while (!ValidacaoUtil.ValidarNome(nome));
            produtoASerAlterado = ProdutoRepository.BuscarProdutoPorNome(nome);
            produtoJaAlterado   = produtoASerAlterado;
            //Mostrando dados do produto e perguntando qual informação alterar.
            bool rodar = true;

            do
            {
                Console.Clear();
                System.Console.WriteLine($"______________________________\nId: {produtoASerAlterado.Id}\nNome: {produtoASerAlterado.Nome}\nCategoria: {produtoASerAlterado.Categoria} \nDescrição: {produtoASerAlterado.Descricao}\nPreço: {produtoASerAlterado.Preco}\nData de criação: {produtoASerAlterado.DataCriacao}\n______________________________");
                MenuUtils.MostrarMenuAlterarProduto();
                MenuAlterarProduto opcao = ((MenuAlterarProduto)Enum.Parse(typeof(MenuAlterarProduto), Console.ReadLine()));
                switch (opcao)
                {
                case MenuAlterarProduto.NOME:
                    do
                    {
                        System.Console.Write("Digite um novo nome para o produto: ");
                        produtoJaAlterado.Nome = Console.ReadLine();
                        if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Nome))
                        {
                            Mensagem.MostrarMensagem("O nome não pode ficar vazia.", TipoMensagemEnum.ALERTA);
                        }
                    } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Nome));
                    break;

                case MenuAlterarProduto.CATEGORIA:
                    do
                    {
                        System.Console.Write("Digite uma nova categoria para o produto: ");
                        produtoJaAlterado.Categoria = Console.ReadLine();
                        if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Categoria))
                        {
                            Mensagem.MostrarMensagem("A categoria não pode ficar vazia", TipoMensagemEnum.ALERTA);
                        }
                    } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Categoria));

                    break;

                case MenuAlterarProduto.DESCRICAO:
                    do
                    {
                        System.Console.Write("Digite uma nova descrição para o produto: ");
                        produtoJaAlterado.Descricao = Console.ReadLine();
                        if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Descricao))
                        {
                            Mensagem.MostrarMensagem("A descrição não pode ficar vazia.", TipoMensagemEnum.ALERTA);
                        }
                    } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Descricao));

                    break;

                case MenuAlterarProduto.PRECO:
                    do
                    {
                        System.Console.Write("Digite um novo preço para o produto (Apenas números): ");
                        string precoCapturado = Console.ReadLine();

                        if (!ValidacaoUtil.ValidarPreco(precoCapturado, produtoASerAlterado.Preco))
                        {
                            Mensagem.MostrarMensagem("Preço inválido", TipoMensagemEnum.ERRO);
                        }
                        produtoJaAlterado.Preco = float.Parse(precoCapturado);
                    } while (!ValidacaoUtil.ValidarPreco(produtoJaAlterado.Preco));
                    break;

                case MenuAlterarProduto.SAIR:
                    rodar = false;
                    break;
                }
                ProdutoRepository.Alterar(produtoASerAlterado, produtoJaAlterado);
                Mensagem.MostrarMensagem("Produto alterado com sucesso!", TipoMensagemEnum.SUCESSO);
            } while (rodar == true);
            if (produtoASerAlterado == null)
            {
                Mensagem.MostrarMensagem("O produto desejado não existe.", TipoMensagemEnum.ERRO);
            }
        }