public async Task <IActionResult> WithUser(string id) { var userId = this.User.GetId(); var viewModel = new ChatWithUserViewModel { User = await this.usersService.GetByIdAsync <ChatUserViewModel>(id), Messages = await this.messagesService.GetAllWithUserAsync <ChatMessagesWithUserViewModel>(userId, id), }; return(this.View(viewModel)); }
public IActionResult ChatWith(string id) { var viewModel = new ChatWithUserViewModel { CurreentUser = _userRepository.Get(User.Identity.GetUserId()), ConversationUser = _userRepository.Get(id), ChatMessages = GetConversationMessages(id) }; SetSeen(id, User.Identity.GetUserId()); return(View(viewModel)); }
public async Task <IActionResult> ChatWithUser(string id) { var currentUserId = this.User.GetUserId(); var user = await this.usersService.GetUserByIdAsync <ChatUserViewModel>(id); if (user == null) { return(this.NotFound()); } var viewModel = new ChatWithUserViewModel { User = user, LatestMessages = await this.messagesService.GetAllMessagesBetweenUsersAsync <ChatMessageViewModel>(currentUserId, id, LatestMessagesCount), }; return(this.View(viewModel)); }