Example #1
0
        public async Task <IActionResult> GetPageAsync(InputPageData inputData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Count of posts must be less than 100 and more than 0"));
            }

            int currentUserId = _userContext.CurrentUser.Id;

            var pagedResultDto = await _postService.GetPageAsync(currentUserId, inputData.PageNum, inputData.PageSize, inputData.JustMyPosts, inputData.SearchStr);

            var posts = new List <PostViewModel>();

            pagedResultDto.Data.ForEach((p) =>
            {
                var filesViewModelCollection = p.Files.Select(FileMapper.ConvertToFileInfoViewModel);
                var usersLikes           = p.UsersLikes.Select(UserMapper.ConvertToUserLikeViewModel);
                var postViewModel        = PostMapper.ConvertToPostViewModel(p);
                postViewModel.Files      = filesViewModelCollection.ToList();
                postViewModel.UsersLikes = usersLikes.ToList();
                posts.Add(postViewModel);
            });

            return(Ok(new
            {
                Paging = pagedResultDto.Paging,
                Data = posts
            }));
        }
Example #2
0
    /// <summary>
    /// 打开输入框
    /// </summary>
    /// <param name="defaultValue">默认值</param>
    /// <param name="onChange">回调</param>
    public void OpenInputWithLimit(string defaultValue, Text onChange, float min, float max, Action dele = null)
    {
        InputPageData data = new InputPageData(onChange, min, max, dele);

        onChange.text = defaultValue;
        KeyPageController.Instance.onChange = data.mydele;
        KeyPageController.Instance.Text     = onChange;
        KeyPageController.Instance.Number   = defaultValue.ToString();
        KeyPageController.Instance.Open();
    }