public virtual ActionResult IncluirComentario(int id, FormCollection forms) { Receita receita = ReceitaBusiness.Obter(id); var usuario = UsuarioBusiness.Obter(User.Identity.Name); var comentario = new Comentario(receita); if (User != null) { var Autor = AutorBusiness.ObterPorUsuario(usuario.Id); comentario.Autor = usuario; comentario.NomeAnonimo = Autor.ToString() ?? usuario.Login; } else { comentario.NomeAnonimo = forms["Nome"]; } comentario.Titulo = forms["Titulo"]; comentario.Conteudo = forms["ConteudoComentario"]; ComentarioBusiness.Add(comentario); return(RedirectToAction("Receita", new { id = id })); }
// // GET: /Receita public virtual ActionResult Receita(int id) { var modelo = ReceitaBusiness.Obter(id); if (modelo != null) { return(View(modelo)); } else { return(RedirectToAction("Index", "Busca")); } }
// // POST: /Admin/Receitas/Create // // GET: /Admin/Receitas/Editar/5 public ActionResult Editar(int id) { Receita receita = ReceitaBusiness.Obter(id); ViewBag.Title = "Editar Receita"; ViewBag.BtnValue = "Editar"; ViewBag.Categorias = CategoriaBusiness.ObterLista(); Autor autor = AutorBusiness.ObterPorUsuario(User.ObterUsuario().Id); if (receita.Autor != autor) { receita.Imagens = new List <Imagem>(); } return(View("Edit", receita)); }
public ActionResult CreateOrEdit(FormCollection collection) { try { int id = 0; Receita OldReceita = null; Receita receita = null; if (int.TryParse(collection["Id"], out id) && id != 0) { OldReceita = ReceitaBusiness.Obter(id); receita = (Receita)OldReceita.Clone(); } else { receita = new Receita(); } receita.Titulo = collection["Titulo"]; receita.SubTitulo = collection["SubTitulo"]; receita.Conteudo = collection["Conteudo"]; receita.Data = DateTime.Parse(collection["Data"]); receita.Destaque = collection["Destaque"] == "on"; if (collection["Categorias"] != null) { int[] ids = collection["Categorias"].Split(',').Select(x => int.Parse(x)).ToArray <int>(); List <Categoria> categorias = CategoriaBusiness.ObterLista(ids); foreach (var item in categorias) { if (!receita.Categorias.Contains(item)) { receita.Categorias.Add(item); } } } else { receita.Categorias.Clear(); } Autor autor = AutorBusiness.ObterPorUsuario(User.ObterUsuario().Id); bool isNovoAutor = receita.Autor != autor; //receita.Imagem = collection["foto"]; receita.Status = receita.Data > DateTime.Now ? autor.IsPatrocinador ? Status.Publicado : Status.Criado : Status.Agendado; receita.Autor = autor; if ((isNovoAutor) || receita.Avalicoes == null) { receita.Avalicoes = new List <Avaliacao>(); } if ((isNovoAutor) || (receita.Imagens == null && Request.Files.Count > 0)) { receita.Imagens = new List <Imagem>(); } List <string> arquivosSalvos = new List <string>(); for (int i = 0; i < Request.Files.Count; i++) { HttpPostedFileBase arquivo = Request.Files[i]; //Suas validações ...... //Salva o arquivo if (arquivo.ContentLength > 0) { var NAME = receita.Slug + "-" + i + Path.GetExtension(arquivo.FileName); var uploadPath = Server.MapPath("~/Content/Uploads"); if (!Directory.Exists(uploadPath)) { Directory.CreateDirectory(uploadPath); } string caminhoArquivo = Path.Combine(@uploadPath, NAME); string caminhoVirtual = string.Format("~/Content/Uploads/{0}", NAME).ToAbsoluteUrl(); arquivo.SaveAs(caminhoArquivo); arquivosSalvos.Add(caminhoVirtual); Imagem imagem = new Imagem(caminhoVirtual); receita.AddImagem(imagem); } } ViewData["Message"] = String.Format("{0} arquivo(s) salvo(s) com sucesso.", arquivosSalvos.Count); if (OldReceita == null || isNovoAutor) { ReceitaBusiness.Save(receita); } else { ReceitaBusiness.AddParent(receita, OldReceita); } } catch { return(RedirectToAction("Index", "Error")); } return(RedirectToAction("Index")); }