Example #1
0
        public IActionResult Index(int id)
        {
            Models.ReadViewModel viewModel = new Models.ReadViewModel();
            //获取帖子详情数据
            var requestData = new Dictionary <string, object>();
            var apiResult   = HttpCore.HttpGet($"/api/CMS/Contents/{id}");

            if (apiResult.Code == 0)
            {
                viewModel.ContentsData = JsonConvert.DeserializeObject <Models.ContentsDataModel>(apiResult.Data.ToString());
            }
            //获取热门帖子数据
            apiResult = HttpCore.HttpGet($"/api/CMS/Contents/customize/hot/8");
            if (apiResult.Code == 0)
            {
                viewModel.HotListData = JsonConvert.DeserializeObject <List <Models.ContentsListDataModel> >(apiResult.Data.ToString());
            }
            //获取频道数据
            apiResult = HttpCore.HttpGet("/api/CMS/Channel");

            if (apiResult.Code == 0)
            {
                viewModel.ChannelListData = JsonConvert.DeserializeObject <List <Models.ChannelDataModel> >(apiResult.Data.ToString());
            }
            return(View(viewModel));
        }
Example #2
0
        public IActionResult Index(int id)
        {
            Models.ReadViewModel viewModel = new Models.ReadViewModel();
            var repository        = _unitOfWork.GetRepository <Entity.m_CmsContents>();
            var channelRepository = _unitOfWork.GetRepository <Entity.m_CmsChannel>();
            var accountRepository = _unitOfWork.GetRepository <m_Account>();

            //获取帖子详情数据
            viewModel.ContentsData = repository.Query()
                                     .Join(accountRepository.Query(), c => c.AccountId, account => account.AccountId, (c, account) => new { c, account })
                                     .Join(channelRepository.Query(), ca => ca.c.ChannelId, channel => channel.ChannelId, (ca, channel) => new Models.ContentsDataModel()
            {
                AccountId   = ca.c.AccountId.Value,
                AnswerCount = ca.c.AnswerCount.Value,
                ChannelId   = ca.c.ChannelId.Value,
                ChannelName = channel.ChannelName,
                ContentsId  = ca.c.ContentsId.Value,
                HeadUrl     = ca.account.HeadUrl,
                LastTime    = ca.c.LastTime.Value,
                NickName    = ca.account.NickName,
                PlusCount   = ca.c.PlusCount.Value,
                PostTime    = ca.c.PostTime.Value,
                ReadCount   = ca.c.ReadCount.Value,
                StateCode   = ca.c.StateCode.Value,
                Title       = ca.c.Title,
                Contents    = ca.c.Contents
            })
                                     .Where(q => q.StateCode == 1 && q.ContentsId == id)
                                     .OrderByDescending(q => q.ContentsId)
                                     .FirstOrDefault();
            //获取热门帖子数据
            viewModel.HotListData = repository.Query()
                                    .Join(accountRepository.Query(), c => c.AccountId, account => account.AccountId, (c, account) => new { c, account })
                                    .Join(channelRepository.Query(), ca => ca.c.ChannelId, channel => channel.ChannelId, (ca, channel) => new Models.ContentsListDataModel()
            {
                AccountId   = ca.c.AccountId.Value,
                AnswerCount = ca.c.AnswerCount.Value,
                ChannelId   = ca.c.ChannelId.Value,
                ChannelName = channel.ChannelName,
                ContentsId  = ca.c.ContentsId.Value,
                HeadUrl     = ca.account.HeadUrl,
                LastTime    = ca.c.LastTime.Value,
                NickName    = ca.account.NickName,
                PlusCount   = ca.c.PlusCount.Value,
                PostTime    = ca.c.PostTime.Value,
                ReadCount   = ca.c.ReadCount.Value,
                StateCode   = ca.c.StateCode.Value,
                Title       = ca.c.Title
            })
                                    .Where(q => q.StateCode == 1).OrderByDescending(q => q.ReadCount).Where(q => q.PostTime >= DateTime.Now.AddDays(-7)).Take(10).ToList();
            //获取频道数据
            viewModel.ChannelListData = channelRepository.Query()
                                        .OrderBy(q => q.SortCount)
                                        .Select(q => new Models.ChannelDataModel()
            {
                AppendTime  = q.AppendTime.Value,
                ChannelId   = q.ChannelId.Value,
                ChannelName = q.ChannelName,
                RemarkText  = q.RemarkText,
                SortCount   = q.SortCount.Value,
                StateCode   = q.StateCode.Value
            })
                                        .ToList();
            return(View(viewModel));
        }