public async Task <IActionResult> Details(Guid id, FilterType filter = FilterType.New, int page = 1) { Topic topic = await topicService.GetByIdAsync(id); if (topic == null || topic.IsHide) { return(NotFound()); } if (page <= 0) { return(NotFound()); } PagingResult <PostView> result = await this.postService.GetPagingResultAsync(id, PostResultType.All, page, filter); if (result.PageCount > 1 && page > result.PageCount) { return(NotFound()); } TopicDetailsModel model = new TopicDetailsModel { Topic = topic, PagingResult = result }; return(View(model)); }
public ActionResult Details(int id) { DataServiceMessage <TopicDetailsDTO> serviceMessage = service.Get(id); if (serviceMessage.Succeeded) { TopicDetailsModel topic = Mapper.Map <TopicDetailsDTO, TopicDetailsModel>(serviceMessage.Data); return(View(topic)); } else { return(Content(String.Join(Environment.NewLine, serviceMessage.Errors))); } }
public ApiPageResultModel GetMyTopicReplyList([FromUri] TopicDetailsModel model) { ApiPageResultModel resultModel = new ApiPageResultModel(); try { //根据用户ID查找业主 IUserBLL ownerBll = BLLFactory <IUserBLL> .GetBLL("UserBLL"); T_User owner = ownerBll.GetEntity(u => u.Id == model.UserId && u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); //如果业主存在 if (owner != null) { //如果验证Token不通过或已过期 if (DateTime.Now > owner.TokenInvalidTime || model.Token != owner.Token) { resultModel.Msg = APIMessage.TOKEN_INVALID; return(resultModel); } //更新最近登录时间和Token失效时间 owner.LatelyLoginTime = DateTime.Now; owner.TokenInvalidTime = DateTime.Now.AddDays(Convert.ToInt32(PropertyUtils.GetConfigParamValue("TokenInvalid"))); ownerBll.Update(owner); IPostBarTopicDiscussBLL topicDiscussBLL = BLLFactory <IPostBarTopicDiscussBLL> .GetBLL("PostBarTopicDiscussBLL"); var level1Ids = topicDiscussBLL.GetList(m => m.TopicId == model.TopicId && m.ParentId == null).OrderBy(m => m.PostTime).Select(m => m.Id).ToList(); // 获取我的帖子回复列表 var list = topicDiscussBLL.GetPageList(m => m.TopicId == model.TopicId && m.ParentId == null, "PostTime", true, model.PageIndex, ConstantParam.PAGE_SIZE).Select(m => new { Id = m.Id, UserId = m.PostUserId, PostDate = m.PostTime.ToString("yyyy-MM-dd HH:mm:ss"), UserImage = m.PostUser.HeadPath, UserName = m.PostUser.UserName, Content = m.Content, PicList = m.ImgPath, RepliedUserName = m.ReplyUser.UserName, Level2Count = m.PostBarTopicDiscusses.Count(), PropertyPlaceId = m.PostBarTopic.PropertyPlaceId, FloorNo = level1Ids.FindIndex(l => l == m.Id) + 1, Level2DiscussList = m.PostBarTopicDiscusses.Select(o => new { Level2Id = o.Id, Level2ParentId = o.ParentId, Level2UserName = o.PostUser.UserName, Level2Content = o.Content, Level2PostDate = o.PostTime.ToString("yyyy-MM-dd HH:mm:ss"), Level2RepliedUserName = o.ReplyUser.UserName, Level2PicList = o.ImgPath }).OrderBy(o => o.Level2PostDate).Take(2).ToList() }).ToList(); resultModel.result = list; resultModel.Total = topicDiscussBLL.Count(m => m.TopicId == model.TopicId && m.ParentId == null); } else { resultModel.Msg = APIMessage.NO_USER; } } catch { resultModel.Msg = APIMessage.REQUEST_EXCEPTION; } return(resultModel); }