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)); }
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)); }
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)); }