예제 #1
0
 public ActionResult Edit(ProdutoViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         var produto = db.Produtos.Find(viewModel.Id);
         Mapear(viewModel, produto);
         db.Entry(produto).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View("~/Areas/Admin/Views/Produtos/CreateOrEdit.cshtml", viewModel));
 }
 public ActionResult Edit(CategoriaViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         var categoria = db.Categorias.Find(viewModel.Id);
         Mapear(viewModel, categoria);
         db.Entry(categoria).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(viewModel));
 }
예제 #3
0
 public ActionResult Edit(ProdutoViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         var produto = db.Produtos.Find(viewModel.Id);
         db.Entry(produto).State = EntityState.Modified;
         db.Entry(produto).CurrentValues.SetValues(viewModel);
         produto.Categoria = db.Categorias.Find(viewModel);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(viewModel));
 }
예제 #4
0
        public static void Mapear(ProdutoViewModel viewModel, Produto produto, LojaDbContext dbContext)
        {
            dbContext.Entry(produto).CurrentValues.SetValues(viewModel);

            produto.Categoria = dbContext.Categorias.Single(c => c.Id == viewModel.CategoriaId);

            if (viewModel.Imagem != null && viewModel.Imagem.ContentLength > 0)
            {
                using (var reader = new BinaryReader(viewModel.Imagem.InputStream))
                {
                    if (produto.Imagem == null)
                    {
                        produto.Imagem = new ProdutoImagem
                        {
                            Bytes       = reader.ReadBytes(viewModel.Imagem.ContentLength),
                            ContentType = viewModel.Imagem.ContentType
                        };
                    }
                    else
                    {
                        produto.Imagem.Bytes       = reader.ReadBytes(viewModel.Imagem.ContentLength);
                        produto.Imagem.ContentType = viewModel.Imagem.ContentType;
                    }
                }
            }
        }
예제 #5
0
        //PUT é igual UPDATE
        public IHttpActionResult PutProduto([FromUri] int id, [FromBody] Produto produto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

            _db.Entry(produto).State = EntityState.Modified;
            produto.Categoria        = _db.Categorias.Find(produto.Categoria.ID);

            try
            {
                _db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProdutoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #6
0
        public void LazyLoadDesligadoLoadTeste()
        {
            var caneta = _contexto.Produtos.First(p => p.Nome == "Caneta");

            _contexto.Entry(caneta).Reference(p => p.Categoria).Load();

            Assert.IsNotNull(caneta.Categoria);
        }
 public ActionResult Edit([Bind(Include = "Id,Nome,Preco,Estoque,Unidade,Ativo")] Produto produto)
 {
     if (ModelState.IsValid)
     {
         db.Entry(produto).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(produto));
 }
예제 #8
0
 public ActionResult Edit([Bind(Include = "Id,Nome")] Categoria categoria)
 {
     if (ModelState.IsValid)
     {
         db.Entry(categoria).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(categoria));
 }
예제 #9
0
 public ActionResult Edit([Bind(Include = "Id,Nome,Preco,Estoque")] Produto produto)
 {
     if (ModelState.IsValid)
     {
         db.Entry(produto).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Id = new SelectList(db.ProdutoImagem, "ProdutoId", "ContentType", produto.Id);
     return(View(produto));
 }
예제 #10
0
        public void Mapear(ProdutoViewModel viewModel, Produto produto, LojaDbContext dbContext)
        {
            dbContext.Entry(produto).CurrentValues.SetValues(viewModel);

            produto.Categoria = dbContext.Categorias.Single(c => c.Id == viewModel.CategoriaId);
        }
예제 #11
0
 public Task Update(T entity)
 {
     _context.Entry(entity).State = EntityState.Modified;
     return(_context.SaveChangesAsync());
 }