Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }