Esempio n. 1
0
        public void AdicionaPublicacao(PublicacaoDestino nova)
        {
            using (var contexto = new BlogContext())
            {
                var estado = (from e in contexto.Estados
                              where e.nome == nova.nomeEstado && e.idPais == nova.idPais
                              select e).FirstOrDefault();

                if (estado == null)
                {
                    estado = new Estado(nova.nomeEstado.ToUpper(), nova.idPais);
                    contexto.Estados.Add(estado);
                    contexto.SaveChanges();
                }

                var cidade = (from c in contexto.Cidades
                              where c.nome == nova.nomeCidade && c.idEstado == estado.id && c.idPais == nova.idPais
                              select c).FirstOrDefault();

                if (cidade == null)
                {
                    cidade = new Cidade(nova.nomeCidade.ToUpper(), estado.id, nova.idPais);
                    contexto.Cidades.Add(cidade);
                    contexto.SaveChanges();
                }

                nova.nomeEstado = nova.nomeEstado.ToUpper();
                nova.nomeCidade = nova.nomeCidade.ToUpper();

                contexto.Publicacoes.Add(nova);
                contexto.SaveChanges();
            }
        }
        public ActionResult AdicionaPublicacao(int idPais, string nomeEstado, string nomeCidade, string descricao, string autor, HttpPostedFileBase imagem)
        {
            byte[] img = new byte[imagem.ContentLength];
            imagem.InputStream.Read(img, 0, imagem.ContentLength);

            PublicacaoDestino nova = new PublicacaoDestino(idPais, nomeEstado, nomeCidade, descricao, autor, img);
            PublicacaoDAO     pub  = new PublicacaoDAO();

            pub.AdicionaPublicacao(nova);


            if (nova.idPais == 1)
            {
                return(RedirectToAction("DestinosNacionais"));
            }
            else
            {
                return(RedirectToAction("DestinosInternacionais"));
            }
        }