public ActionResult Criar(Postagem postagem, string Tags_nome, string Post, string[] Hiddens) { if (ModelState.IsValid) { if(WebSecurity.CurrentUserId == -1) return View("NaoLogado"); List<Imagem> lstImagens = new List<Imagem>(); foreach (string strImg in Hiddens) { if (strImg != string.Empty) { var imagem = new Imagem { imagemString = strImg }; lstImagens.Add(imagem); } } postagem.Imagens = lstImagens; //primeiro criar as tags, dpx criar a postagem, tudo separado e por ultimo criar a tagpostagem linkando ambos string[] tags = Tags_nome.Split(','); foreach (var tag in tags) { Tag _novatag = new Tag(); _novatag = storeDB.Tags.SingleOrDefault(x => x.nome == tag); if (_novatag == null) { _novatag = new Tag(); _novatag.nome = tag; storeDB.Tags.Add(_novatag); } } postagem.texto = Post; postagem.DataCriacao = DateTime.Now; postagem.userID = WebSecurity.CurrentUserId; postagem.Titulo.DataCriacao = DateTime.Now; storeDB.Postagens.Add(postagem); storeDB.SaveChanges(); Postagem postagemAux = new Postagem(); postagemAux = storeDB.Postagens.SingleOrDefault(a => a.texto == postagem.texto); foreach (var tag in tags) { Tag _novatag = new Tag(); _novatag = storeDB.Tags.SingleOrDefault(x => x.nome == tag); var _novoPostTag = new TagPostagem { Postagens = postagemAux, Tags = _novatag }; storeDB.TagPostagens.Add(_novoPostTag); } storeDB.SaveChanges(); return RedirectToAction("Index", "Home"); } return View(postagem); }
public ActionResult CriarPost(int postagemID) { Postagem post = new Postagem(); post = storeDB.Postagens.Include("Titulo").SingleOrDefault(a => a.postagemID == postagemID); ViewBag.Titulo = post.Titulo.Nome; ViewBag.Tituloid = post.Titulo.tituloID; return View(); }