コード例 #1
0
        public async Task <IActionResult> GetMessageForUser(int userid, [FromQuery] MessageParams messageParams)
        {
            if (userid != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            messageParams.UserId = userid;

            var messageFromRepo = await _repo.GetMessagesForUser(messageParams);

            var mesages = _mapper.Map <IEnumerable <MessageToReturnDto> >(messageFromRepo);

            Response.AddPagination(messageFromRepo.CurrentPage, messageFromRepo.PageSize, messageFromRepo.TotalCount, messageFromRepo.TotalPages);

            return(Ok(mesages));
        }
コード例 #2
0
        public async Task <IActionResult> GetMessagesForUser(int userId, [FromQuery] MessageParams messageParams)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }
            // we need to set userId into userParams
            messageParams.UserId = userId;
            //PagedList
            var messagesFromRepo = await _repo.GetMessagesForUser(messageParams);

            var messages = _mapper.Map <IEnumerable <MessageToReturnDto> >(messagesFromRepo);

            //pagination info shall be contained in header
            Response.AddPagination(messagesFromRepo.CurrentPage, messagesFromRepo.PageSize, messagesFromRepo.TotalCount, messagesFromRepo.TotalPages);
            return(Ok(messages));
        }
コード例 #3
0
        public async Task <IActionResult> GetMessagesForUser(int userId, [FromQuery] MessageParams messageParams)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            messageParams.UserId = userId;

            var messagesFromRepo = await _repo.GetMessagesForUser(messageParams);

            var messages = _mapper.Map <IEnumerable <MessageToReturnDTO> >(messagesFromRepo);

            // We Added an extension method to the response to add the pagination headers
            Response.AddPaginationHeaders(messagesFromRepo.CurrentPage, messagesFromRepo.PageSize, messagesFromRepo.TotalCount, messagesFromRepo.TotalPages);

            return(Ok(messages));
        }