public async Task <IActionResult> AddReply(ForumViewModel forumViewModel, int msgId, int chatRoomID) { if (ModelState.IsValid) { var user = await userManager.GetUserAsync(HttpContext.User); var newRply = new Reply() { ReplyContent = forumViewModel.RplyViewModel.MessageBody, UnixTimeStamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds(), Poster = user.UserName }; // add to reply, msg, and user repos await replyRepo.AddReplyToRepo(newRply); await messageRepo.AddReplytoMsg(newRply, msgId); user.AddToReplyHistory(newRply); var result = await userManager.UpdateAsync(user); return(RedirectToAction("Forum", new { chatRoomID = chatRoomID })); } else { ModelState.AddModelError(nameof(CreateReplyViewModel.MessageBody), "Invalid reply body"); return(RedirectToAction("Forum", new { chatRoomID = chatRoomID, forumViewModel = forumViewModel })); } }