public async Task <IActionResult> GetMessage(int userId, [FromQuery] MessageParams messageParams)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }
            messageParams.UserId = userId;
            var messagesFromRepo = await _repo.GetMessageForUser(messageParams);

            var messages       = _mapper.Map <IEnumerable <MessageToReturnDto> >(messagesFromRepo);
            var PagiantionInfo = new PaginaionHeader(messagesFromRepo.CurrentPage,
                                                     messagesFromRepo.PageSize,
                                                     messagesFromRepo.TotalCount,
                                                     messagesFromRepo.TotalPages);

            return(Ok(new { messages, PagiantionInfo }));
        }
        public async Task <IActionResult> GetUsers([FromQuery] UserParams userparams)
        {
            var CurrentUserID       = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
            var CurrentUserFromRepo = await _repo.GetUser(CurrentUserID);

            userparams.UserId = CurrentUserID;
            if (string.IsNullOrEmpty(userparams.Gender))
            {
                userparams.Gender = CurrentUserFromRepo.Gender == "male" ? "female" : "male";
            }
            var users = await _repo.GetUsers(userparams);

            var UserstoReturn = _mapper.Map <List <UserForListDto> >(users);
            // Response.AddPagination(users.CurrentPage,users.PageSize,users.TotalCount,users.TotalPages);
            var PaginationBody = new PaginaionHeader(users.CurrentPage, users.PageSize, users.TotalCount, users.TotalPages);

            return(Ok(new { UserstoReturn, PaginationBody }));
        }