public async Task <IActionResult> Atualizar(AtualizarProdutoViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Produto produto = await dbApplication
                              .Produtos
                              .ComId(viewModel.Id)
                              .SingleOrDefaultAsync();

            if (produto == null)
            {
                return(Json("Produto não encontrado."));
            }

            produto.Nome  = viewModel.Nome;
            produto.Valor = viewModel.Valor;

            dbApplication.Update(produto);
            dbApplication.SaveChanges();

            return(Json("Produto atualizado com sucesso"));
        }
Пример #2
0
        public ActionResult Atualizar(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Produto produto = db.Produtos.ComId(id.Value).SingleOrDefault();

            if (produto == null)
            {
                return(HttpNotFound());
            }

            ViewBag.Categorias = db.Categorias;
            AtualizarProdutoViewModel viewModel = new AtualizarProdutoViewModel()
            {
                IdProduto   = produto.IdProduto,
                IdCategoria = produto.IdCategoria,
                Descricao   = produto.Descricao,
                Preco       = produto.Preco
            };

            return(View(viewModel));
        }
Пример #3
0
        public ActionResult Atualizar(AtualizarProdutoViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(this.ModelErrors());
            }

            using (DbApplication db = new DbApplication())
            {
                Produto produtoBanco = db.
                                       Produtos
                                       .ComNome(viewModel.Nome)
                                       .SingleOrDefault();

                if (produtoBanco != null && produtoBanco.IdProduto != viewModel.IdProduto)
                {
                    return(this.ErrorMessage("Já existe um produto  cadastrado com esta descrição."));
                }
                Produto produto = db.Produtos
                                  .ComId(viewModel.IdProduto)
                                  .SingleOrDefault();

                produto.IdCategoria = viewModel.IdCategoria;
                produto.Nome        = viewModel.Nome;
                produto.Preco       = viewModel.Preco;

                db.RegistrarAlterado(produto);
                db.Salvar();
            }

            return(this.Message("Produto atualizado com sucesso."));
        }
Пример #4
0
        public AtualizarProdutoPage(Produto produto)
        {
            InitializeComponent();

            var ProdutoRepo   = new ProdutoRepository();
            var CategoriaRepo = new CategoriaRepository();

            ViewModel = new AtualizarProdutoViewModel(ProdutoRepo, CategoriaRepo, produto);

            BindingContext = ViewModel;
        }
Пример #5
0
        public async Task <IActionResult> AtualizarProduto([FromRoute] Guid id, [FromBody] AtualizarProdutoViewModel model)
        {
            var produto = await _produtoRepository.ObterPorId(id);

            if (produto == null)
            {
                NotificarErro("AtualizarProduto", "Produto não encontrado.");
                return(BadRequest());
            }

            if (produto.CategoriaId != model.CategoriaId)
            {
                produto.AlterarCategoria(model.CategoriaId);
            }

            produto.AlterarDescricaoEInformacoes(model.Descricao, model.InformacoesAdicionais);

            await _produtoService.Atualizar(produto);

            return(Response(produto.Id));
        }
Пример #6
0
        public ActionResult Atualizar(AtualizarProdutoViewModel viewModel)
        {
            if (viewModel.Preco <= 0)
            {
                ModelState.AddModelError(String.Empty, "Preço inválido.");
            }

            if (ModelState.IsValid)
            {
                Produto produto = db.Produtos.ComId(viewModel.IdProduto).SingleOrDefault();

                Produto produtoBanco = db
                                       .Produtos
                                       .ComDescricao(viewModel.Descricao)
                                       .Where(p => p.IdProduto != produto.IdProduto)
                                       .SingleOrDefault();

                if (produtoBanco != null)
                {
                    ModelState.AddModelError(String.Empty, "Já existe um produto com essa descrição.");
                    return(View("Atualizar", viewModel));
                }

                produto.IdCategoria = viewModel.IdCategoria;
                produto.Descricao   = viewModel.Descricao;
                produto.Preco       = viewModel.Preco;

                db.RegistrarAlterado(produto);

                db.Salvar();

                TempData["Success"] = "Produto atualizado com sucesso!";
                return(RedirectToAction("Index", "Produtos"));
            }

            ViewBag.Categorias = db.Categorias;
            return(View(viewModel));
        }
Пример #7
0
        public IActionResult Atualizar(AtualizarProdutoViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(this.MensagemErro(ModelState)));
            }

            Produto produto = dbContext
                              .Produto
                              .ComId(viewModel.IdProduto)
                              .SingleOrDefault();

            if (produto == null)
            {
                return(NotFound(this.MensagemErro("Produto não encontrado.")));
            }

            Produto produtoBanco = dbContext
                                   .Produto
                                   .ComDescricao(viewModel.Descricao)
                                   .Where(c => c.IdProduto != viewModel.IdProduto)
                                   .SingleOrDefault();

            if (produtoBanco != null)
            {
                return(BadRequest(this.MensagemErro("Já existe um produto com esta descrição.")));
            }

            produto.IdCategoria = viewModel.IdCategoria;
            produto.Descricao   = viewModel.Descricao;
            produto.Preco       = viewModel.Preco;

            if (viewModel.Arquivo != null && viewModel.Arquivo.Length > 0)
            {
                if (!viewModel.Arquivo.FileName.Contains(".jpg") &&
                    !viewModel.Arquivo.FileName.Contains(".png") &&
                    !viewModel.Arquivo.FileName.Contains(".gif"))
                {
                    return(BadRequest(this.MensagemErro("A imagem de estar no formato 'jpg', 'png' ou 'gif'")));
                }

                var diretorio = "C:\\ArquivosComercio";

                if (!Directory.Exists(diretorio))
                {
                    Directory.CreateDirectory(diretorio);
                }

                var path = Path.Combine(
                    diretorio,
                    viewModel.Arquivo.FileName);

                using (var stream = new FileStream(path, FileMode.Create))
                {
                    viewModel.Arquivo.CopyTo(stream);
                }

                produto.DiretorioImagem = path;
            }

            dbContext.Update(produto);

            dbContext.SaveChanges();

            return(Ok(this.MensagemSucesso("Produto atualizado com sucesso.")));
        }