private DestinoViewModel Mapear(Destino destino) { var viewModel = new DestinoViewModel(); viewModel.CaminhoImagem = Path.Combine(caminhoImagensDestinos, destino.NomeImagem); viewModel.Cidade = destino.Cidade; viewModel.Id = destino.Id; viewModel.Nome = destino.Nome; viewModel.Pais = destino.Pais; return(viewModel); }
private Destino Mapear(DestinoViewModel viewModel) { var destino = new Destino(); destino.Cidade = viewModel.Cidade; destino.Id = viewModel.Id; destino.Nome = viewModel.Nome; destino.NomeImagem = viewModel.ArquivoFoto.FileName; destino.Pais = viewModel.Pais; return(destino); }
private DestinoViewModel Mapear(Destino destino) { var viewModel = new DestinoViewModel { Id = destino.Id, Nome = destino.Nome, Pais = destino.Pais, Cidade = destino.Cidade, CaminhoImagem = Path.Combine(caminhoImagensDestinos, destino.NomeImagem) }; return(viewModel); }
private Destino Mapear(DestinoViewModel viewModel) { var destino = new Destino { Id = viewModel.Id, Nome = viewModel.Nome, Pais = viewModel.Pais, Cidade = viewModel.Cidade, NomeImagem = viewModel.ArquivoFoto.FileName }; return(destino); }
private Destino Mapear(DestinoViewModel viewModel) { //automapper é um nuget que faz o mapeamento entre duas classes que tem os campos com mesma nomeclatura var destino = new Destino(); destino.Cidade = viewModel.Cidade; destino.Id = viewModel.Id; destino.Nome = viewModel.Nome; destino.NomeImagem = viewModel.ArquivoFoto.FileName; destino.Pais = viewModel.Pais; return(destino); }
//Bind vai ajudar a você informar quais os campos // public ActionResult Create([Bind(Include = "Id,Nome,Pais,Cidade,NomeImagem")] Destino destino) public ActionResult Create(DestinoViewModel viewModel) { if (ModelState.IsValid) { var destino = Mapear(viewModel); SalvarFoto(viewModel.ArquivoFoto); db.Destinos.Add(destino); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(viewModel)); }
//Bind - Segurança - Quais campos são esperados //public ActionResult Create([Bind(Include = "Id,Nome,Pais,Cidade,NomeImagem")] Destino destino) public ActionResult Create(DestinoViewModel viewModel) //Substituir Destino por DestinoViewModel { if (ModelState.IsValid) //Validação dos modelos (Requeired) { //Mapear - colocar os campos de uma classe em oputra classe var destino = Mapear(viewModel); SalvarFoto(viewModel.ArquivoFoto); db.Destinos.Add(destino); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(viewModel)); }
public ActionResult Edit(DestinoViewModel viewModel) { if (ModelState.IsValid) { var destino = db.Destinos.Find(viewModel.Id); db.Entry(destino).CurrentValues.SetValues(viewModel); if (viewModel.ArquivoFoto != null) { SalvarFoto(viewModel.ArquivoFoto); destino.NomeImagem = viewModel.ArquivoFoto.FileName; } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(viewModel)); }
public ActionResult Create(DestinoViewModel viewModel) { if (viewModel.ArquivoFoto == null) { ModelState.AddModelError("", "É necessário enviar uma imagem."); } if (ModelState.IsValid) { SalvarFoto(viewModel.ArquivoFoto); db.Destinos.Add(Mapear(viewModel)); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(viewModel)); }
public ActionResult Edit(DestinoViewModel viewModel) { if (ModelState.IsValid) { var destino = db.Destinos.Find(viewModel.Id); db.Entry(destino).CurrentValues.SetValues(viewModel); //db.Entry(destino).State = EntityState.Modified; if (viewModel.ArquivoFoto != null) { System.IO.File.Delete(Server.MapPath(Path.Combine(_caminhoImagensDestinos, destino.NomeImagem))); SalvarFoto(viewModel.ArquivoFoto); destino.NomeImagem = viewModel.ArquivoFoto.FileName; } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(viewModel)); }
public ActionResult Edit(DestinoViewModel viewModel) { if (ModelState.IsValid) { //Como foi criado o mapeamento, deve recuperar o registro do BD e update em todos campos //Entity Framework var destino = db.Destinos.Find(viewModel.Id); db.Entry(destino).CurrentValues.SetValues(viewModel); //Mapeamento dos campos atuais do BD e troca pelos dados que veio do viewModel //db.Entry(viewModel).State = EntityState.Modified; if (viewModel.ArquivoFoto != null) { SalvarFoto(viewModel.ArquivoFoto); destino.NomeImagem = viewModel.ArquivoFoto.FileName; } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(viewModel)); }