/// <summary> /// 时光轴 /// </summary> /// <param name="page"></param> /// <param name="limit"></param> /// <returns></returns> public IActionResult Line(int page, int limit = 10) { var result = _timeLineService.QueryableByPage(null, "PublishDate desc", page, limit); var data = result.Item1; IEnumerable <int> years = data.Select(s => s.PublishDate.Value.Year).Distinct().OrderByDescending(o => o); List <TimeLineDto> times = new List <TimeLineDto>(); foreach (int item in years) { TimeLineDto dto = new TimeLineDto(); dto.Year = item; var list = data.Where(c => c.PublishDate.Value.Year == item); IEnumerable <int> months = list.Select(s => s.PublishDate.Value.Month).Distinct().OrderBy(o => o); Dictionary <string, IEnumerable <LineItem> > pairs = new Dictionary <string, IEnumerable <LineItem> >(); foreach (int m in months) { pairs[m.ToString("D2")] = list.Where(c => c.PublishDate.Value.Month == m).Select(s => new LineItem { Content = s.Content, Time = s.PublishDate.Value.ToString("MM月dd日 HH:mm") }).OrderBy(o => o.Time); } dto.Items = pairs; times.Add(dto); } var no = result.Item2 * 1d / limit; PageResult <List <TimeLineDto> > d = new PageResult <List <TimeLineDto> >(); d.code = 0; d.count = (int)Math.Ceiling(no); d.data = times; return(Json(d)); }
public IActionResult Index(QueryDto query) { return(Json(_timeLineService.QueryableByPage(query), "yyyy-MM-dd HH:mm:ss")); }