Ejemplo n.º 1
0
        public async Task <IActionResult> GetUserSelfQuestionsAsync(string userName, int index)
        {
            if (index <= 0)
            {
                index = 1;
            }

            Domain.Clients.User user = Domain.Clients.Hub.GetUserByUserName(userName);

            Paginator pager = Paginator.New(index, 10, 2);

            pager["userId"]        = user.Id.ToString();
            pager["currentUserId"] = CurrentUser.Id.ToString();

            Paginator resultPager = await user.GetSelfQuestionsAsync(pager);

            ViewModels.Users.UserQuestions model = new ViewModels.Users.UserQuestions
            {
                UserIntro = new ViewModels.Shared.UserIntro
                {
                    UserName = userName,
                    Avatar   = user.GetAvatar()
                },
                Paginator = resultPager
            };

            return(View("questions", model));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> DisabledAsync(int id)
        {
            Domain.Clients.User user = Domain.Clients.Hub.GetUser(id);
            Resp r = await user.DisabledAsync();

            return(Pack(r));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> UserInfo(string userName)
        {
            /*
             * 详情要获取用户信息,提问问题,回答记录
             */

            Domain.Clients.User user = Domain.Clients.Hub.GetUserByUserName(userName);

            Domain.Clients.Results.ClientDetail detail = await user.GetUserInfoAsync();

            var currentUser = CurrentUser;

            ViewModels.Users.UserInfo model = new ViewModels.Users.UserInfo
            {
                UserName   = detail.UserName,
                Email      = detail.Email,
                CreateDate = detail.CreateDate,
                Avatar     = detail.Avatar
            };
            model.IsSelf = !currentUser.IsEmpty() && currentUser.GetName().Equals(user.GetName(), StringComparison.OrdinalIgnoreCase);

            //  获取用户的第一页提问列表
            List <Domain.Questions.Results.QuestionItem_UserSelf> questionsList = await user.GetSelfQuestionsByDetailAsync(currentUser.Id);

            //  获取用户的第一页的回答列表
            List <Domain.Answers.Results.AnswerItem_UserPage> answersList = await user.GetSelfAnswersByDetailAsync(currentUser.Id);

            model.UserAsks    = questionsList;
            model.UserAnswers = answersList;

            SetTitle(userName);

            return(View(model));
        }
        private bool CheckAccount(List <Claim> claimsList)
        {
            string token = claimsList.First(c => c.Type == ClaimTypes.Authentication).Value;

            string idStr = claimsList.First(c => c.Type == ClaimTypes.PrimarySid).Value;

            if (!int.TryParse(idStr, out int id))
            {
                return(false);
            }

            Domain.Clients.User user = Domain.Clients.Hub.GetUser(id, token);
            return(!user.IsEmpty());
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> GetUserSelfAnswerAsync(string userName, int index)
        {
            Domain.Clients.User user = Domain.Clients.Hub.GetUserByUserName(userName);

            Paginator pager = Paginator.New(index, 10, 3);

            pager["userId"]        = user.Id.ToString();
            pager["currentUserId"] = CurrentUser.Id.ToString();
            pager["questionTitle"] = "";

            Paginator resultPager = await user.GetSelfAnswersByDetailAsync(pager);

            ViewModels.Users.UserAnswers model = new ViewModels.Users.UserAnswers
            {
                UserIntro = new ViewModels.Shared.UserIntro
                {
                    UserName = userName,
                    Avatar   = user.GetAvatar()
                },
                Paginator = resultPager
            };
            return(View("answers", model));
        }