public async Task <FullPublicacionViewModel> Index(int id) { var publicacion = await getById(id); if (publicacion == null) { return(null); } else { var comentarios = await _context.Comentarios.Where(c => c.IdPost == id).OrderByDescending(a => a.Id).ToListAsync(); var comentariosId = await _context.Comentarios.Where(c => c.IdPost == id).Select(s => s.Id).ToListAsync(); int[] idPost = comentariosId.ToArray(); var replies = new List <Replies>(); for (var i = 0; i < idPost.Length; i++) { replies.AddRange(await _context.Replies.Where(c => c.IdComentario == idPost[i]).ToListAsync()); } var viewModel = new FullPublicacionViewModel { Publicacion = publicacion, Comentarios = comentarios, Replies = replies }; return(viewModel); } }
public async Task <IActionResult> addComentario(int id, FullPublicacionViewModel viewModel) { if (viewModel.Comentario != null) { var usuario = await _context.Usuario.FirstOrDefaultAsync(c => c.UserName == User.Identity.Name); if (await _repository.AddComentario(usuario.Foto, User.Identity.Name, id, viewModel)) { return(RedirectToAction("Index", new { id = id })); } } return(RedirectToAction("Index", new { id = id })); }
public async Task <IActionResult> addReply(int publ, int id, FullPublicacionViewModel viewModel) { if (viewModel.Reply != null) { if (await _repository.addReply(User.Identity.Name, id, viewModel)) { return(RedirectToAction("Index", new { id = publ })); } else { return(RedirectToAction("Index", new { id = publ })); } } return(RedirectToAction("Index", new { id = publ })); }
public async Task <bool> addReply(string name, int id, FullPublicacionViewModel viewModel) { if (viewModel.Reply != null) { var dto = new RepliesDTO { IdComentario = id, HoraPublicacion = DateTime.Now.ToString("dd/MM/yyyy hh:mm tt"), Foto = name, Texto = viewModel.Reply, UserId = name }; var final = _mapper.Map <Replies>(dto); _context.Replies.Add(final); await _context.SaveChangesAsync(); return(true); } return(false); }
public async Task <bool> AddComentario(string foto, string name, int id, FullPublicacionViewModel viewModel) { if (viewModel.Comentario != null) { var vm = new ComentarioViewModel { IdPost = id, UserComm = name, Comentario = viewModel.Comentario, Foto = foto }; var dto = _mapper.Map <ComentarioDTO>(vm); var final = _mapper.Map <Comentarios>(dto); _context.Comentarios.Add(final); await _context.SaveChangesAsync(); return(true); } else { return(false); } }