示例#1
0
        public async Task <IActionResult> MessageListAsync([FromBody] MessageListParams messageList)
        {
            try
            {
                var senderUser = await userProvider.GetCurrentUser();

                var contactUser = await userProvider.GetUserWithUserNameAsync(messageList.ContactUserUserName);

                if (contactUser == null)
                {
                    return(NotFound(Response <string> .GetError(null, $"There is no user with name: '{messageList.ContactUserUserName}'")));
                }

                var data = await messageService.GetMessageInfoListAsync(messageList,
                                                                        senderUser,
                                                                        contactUser);

                if (data != null)
                {
                    return(Ok(Response <List <MessageInfoResponse> > .GetSuccess(data)));
                }
                else
                {
                    return(BadRequest(Response <string> .GetError(null, "Message list could not get")));
                }
            }
            catch (Exception ex)
            {
                logger.LogError(ex, ex.Message);
                return(StatusCode(500, Response <string> .GetError(null, "An error occured")));
            }
        }
示例#2
0
        public async Task <List <MessageInfoResponse> > GetMessageInfoListAsync(MessageListParams messageList,
                                                                                User senderUser,
                                                                                User contactUser)
        {
            var messageInfoResponseList = new List <MessageInfoResponse>();
            var findResults             = await GetMessageInfosFromMongoAsync(messageList.PageNumber,
                                                                              senderUser,
                                                                              contactUser);

            foreach (var item in findResults)
            {
                messageInfoResponseList.Add(GetResponseMessageInfo(item));
            }

            return(messageInfoResponseList);
        }