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)); }
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)); }