C#组数据按月的几周

时间:2019-07-29 04:54:26

标签: c# asp.net-mvc postgresql entity-framework linq

我有一个月中的星期数,但是当我尝试对数据进行分组时,会得到如下数组:

  

第1:1周
  第2周:4

应该是这样的:

  

第1:1周
  第2周:0
  第3周:0
  第4周:4
  第5周:0

请帮助我获得上述结果
这是我的代码

  var _month = int.Parse(month);
            var tahun = DateTime.Now.Year;
            DateTime start = new DateTime(tahun, _bulan, 1);
            var rangeDate= utils.GetRangeWeek(tahun, _bulan);
            foreach (var ranges in rangeDate)
            {
             var test = joinnya.Where(x => DateTime.ParseExact(x.tgl_laporan.Value.ToShortDateString(), "dd/MM/yyyy", CultureInfo.InvariantCulture) >= DateTime.ParseExact(ranges.start.ToShortDateString(), "dd/MM/yyyy", CultureInfo.InvariantCulture)
                && DateTime.ParseExact(x.tgl_laporan.Value.ToShortDateString(), "dd/MM/yyyy", CultureInfo.InvariantCulture) <= DateTime.ParseExact(ranges.end.ToShortDateString(), "dd/MM/yyyy", CultureInfo.InvariantCulture))
                .GroupBy(c => c.kategori).Select
                (g => new
                {
                    name = (g.Key == null) ? "Lainnya" : g.Key,
                    data = (g == null?0: g.Count())
                }).ToList();
                tes2.ForEach(p => lineChartList.Add(new DataChart { name = p.name, data = p.data == 0 ? 0 : p.data }));
                Console.WriteLine(test);

            }
            var result = lineChartList.GroupBy(x => new { x.name })
                .Select(b => new DataChartTrending2
                {
                    data = b.Select(bn => bn.data).ToList(),
                    name = b.Key.name
                }).ToList();
            returnya = result;

            return returnya;

0 个答案:

没有答案