示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
        //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));
        }
示例#9
0
        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));
        }
示例#10
0
        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));
        }