public IActionResult DeletarFoto(int id) { ProdutoImage Foto = db.ProdutosImages.Where(x => x.Id == id).FirstOrDefault(); int produtoId = Foto.ProdutoId; db.Remove(Foto); db.SaveChanges(); Produto Produto = db.Produtos.Where(x => x.Id == produtoId).Include(x => x.Fotos).FirstOrDefault(); return(PartialView("_ProdutoFormPartial", new ProdutoFormModel() { Produto = Produto })); }
public async Task <IActionResult> Adicionar(ProdutoFormModel model) { if (model.Produto.Fotos == null) { model.Produto.Fotos = new List <ProdutoImage>(); } Log log = new Log(); if (model.Produto.Id == 0) { log.DataHora = DateTime.Now; log.UserId = _userManager.GetUserAsync(HttpContext.User).Result.Id; log.Mensagem = "Produto " + model.Produto.Nome + " criado"; db.Add(log); db.Attach(model.Produto); } else { log.DataHora = DateTime.Now; log.UserId = _userManager.GetUserAsync(HttpContext.User).Result.Id; log.Mensagem = "Produto " + model.Produto.Nome + " editado"; db.Add(log); db.Update(model.Produto); } db.SaveChanges(); string path = "Uploads/" + model.Produto.Id; if (!Directory.Exists("wwwroot/" + path)) { Directory.CreateDirectory("wwwroot/" + path); } if (model.ProdutoImage != null) { foreach (IFormFile file in model.ProdutoImage) { file.FileName.Replace(" ", "_"); var filePath = path + "/" + file.FileName; ProdutoImage image = new ProdutoImage(); using (var stream = new FileStream("wwwroot/" + filePath, FileMode.Create)) { model.ProdutoImage[0].CopyTo(stream); stream.Close(); } image.ProdutoId = model.Produto.Id; image.Path = filePath; model.Produto.Fotos.Add(image); } } db.SaveChanges(); ModelState.Clear(); return(RedirectToAction("Index")); }