Exemple #1
0
        public IActionResult Index([FromRoute] int themeId, [FromRoute] int docsId = 0)
        {
            Models.DocsReadViewModel viewModel = new Models.DocsReadViewModel();
            viewModel.ThemeId = themeId;
            viewModel.DocsId  = docsId;
            //
            //获取文档列表数据
            var apiResult = HttpCore.HttpGet($"/api/Docs/Theme/document/{themeId}");

            if (apiResult.Code == 0 && apiResult.Data != null)
            {
                viewModel.ItemsListData = JsonConvert.DeserializeObject <List <Models.DocumentDataModel> >(apiResult.Data.ToString());
            }
            else
            {
                viewModel.ItemsListData = new List <Models.DocumentDataModel>();
            }
            //获取帖子详情数据
            if (docsId == 0)
            {
                apiResult = HttpCore.HttpGet($"/api/Docs/Contents/{themeId}");
                if (apiResult.Code == 0)
                {
                    viewModel.DocsThemeData = JsonConvert.DeserializeObject <Models.ThemeDataModel>(apiResult.Data.ToString());
                }
            }
            else
            {
                apiResult = HttpCore.HttpGet($"/api/Docs/Contents/{themeId}/{docsId}");
                if (apiResult.Code == 0)
                {
                    viewModel.DocsData = JsonConvert.DeserializeObject <Models.DocsContentsModel>(apiResult.Data.ToString());
                }
            }
            return(View(viewModel));
        }
Exemple #2
0
        public IActionResult Index([FromRoute] int themeId, [FromRoute] int docsId = 0)
        {
            Models.DocsReadViewModel viewModel = new Models.DocsReadViewModel();
            viewModel.ThemeId = themeId;
            viewModel.DocsId  = docsId;
            //
            //获取文档列表数据
            var docRepository = _unitOfWork.GetRepository <Entity.m_Docs>();

            viewModel.ItemsListData = docRepository.Query()
                                      .Where(q => q.ThemeId == themeId && q.IsShow == true)
                                      .OrderByDescending(q => q.DocsId)
                                      .Select(q => new Models.DocumentDataModel()
            {
                DocsId     = q.DocsId.Value,
                ShortTitle = q.ShortTitle,
                Title      = q.Title,
                ThemeId    = q.ThemeId.Value,
                IsShow     = q.IsShow.Value
            })
                                      .ToList();
            var accountRepository = _unitOfWork.GetRepository <m_Account>();

            //获取帖子详情数据
            if (docsId == 0)
            {
                var themeRepository = _unitOfWork.GetRepository <Entity.m_DocsTheme>();
                viewModel.DocsThemeData = themeRepository.Query()
                                          .Join(accountRepository.Query(), doc => doc.AccountId, acc => acc.AccountId, (doc, acc) => new Models.ThemeDataModel()
                {
                    ThemeId    = doc.ThemeId.Value,
                    HeadUrl    = acc.HeadUrl,
                    IsShow     = doc.IsShow.Value,
                    LastTime   = doc.LastTime.Value,
                    PlusCount  = doc.PlusCount.Value,
                    NickName   = acc.NickName,
                    AppendTime = doc.AppendTime.Value,
                    ReadCount  = doc.ReadCount.Value,
                    Title      = doc.Title,
                    Tags       = doc.Tags,
                    AccountId  = doc.AccountId.Value,
                    Contents   = doc.Contents
                })
                                          .Where(q => q.ThemeId == themeId)
                                          .OrderByDescending(q => q.ThemeId)
                                          .FirstOrDefault();
                if (viewModel.DocsThemeData != null)
                {
                    //更新浏览次数
                    _unitOfWork.DbContext.MangoUpdate <Entity.m_DocsTheme>(q => q.ReadCount == q.ReadCount + 1, q => q.ThemeId == themeId);
                }
            }
            else
            {
                viewModel.DocsData = docRepository.Query()
                                     .Join(accountRepository.Query(), doc => doc.AccountId, acc => acc.AccountId, (doc, acc) => new Models.DocsContentsModel()
                {
                    DocsId     = doc.DocsId.Value,
                    HeadUrl    = acc.HeadUrl,
                    IsShow     = doc.IsShow.Value,
                    LastTime   = doc.LastTime.Value,
                    PlusCount  = doc.PlusCount.Value,
                    NickName   = acc.NickName,
                    AppendTime = doc.AppendTime.Value,
                    ReadCount  = doc.ReadCount.Value,
                    Title      = doc.Title,
                    Tags       = doc.Tags,
                    AccountId  = doc.AccountId.Value,
                    ShortTitle = doc.ShortTitle,
                    ThemeId    = doc.ThemeId.Value,
                    Contents   = doc.Contents,
                    IsAudit    = doc.IsAudit.Value
                })
                                     .Where(q => q.DocsId == docsId && q.ThemeId == themeId)
                                     .FirstOrDefault();
                if (viewModel.DocsData != null)
                {
                    //更新浏览次数
                    _unitOfWork.DbContext.MangoUpdate <Entity.m_Docs>(q => q.ReadCount == q.ReadCount + 1, q => q.DocsId == docsId);
                }
            }
            return(View(viewModel));
        }