#asp.net-mvc
Вопрос:
С помощью моего кода я могу группировать данные по неделям за текущий месяц. Но мое требование состоит в том, чтобы, если первая неделя текущего месяца включает дату последнего месяца, так как дата последнего месяца на прошлой неделе также выпадает на первую неделю текущего месяца. Затем группировка должна добавить дату последнего месяца последней недели к дате текущего месяца текущей недели. Надеюсь, я попытался упростить это. Ниже приведен мой код, и я очень признателен за любую помощь в этом вопросе.
Пример: Июнь 2021 года Дата начала месяца-1 июня, а неделя начинается в понедельник, а дата понедельника-31 мая. Следовательно, приведенный ниже код также должен включать данные за 31 мая и отображаться на экране.
Но с приведенным ниже кодом данные, которые я мог бы отобразить, начиная с 1 июня и Далее.
Способ действия Контроллера
public ActionResult DisplayChart()
{
/*This Month Begin*/
DateTime now = DateTime.Now;
var startDate = new DateTime(now.Year, now.Month, 1);
var endDate = startDate.AddMonths(1).AddDays(-1);
/*This Month Ends*/
var result = db.Chats.Where(c => System.Data.Entity.DbFunctions.TruncateTime(c.MSTChatCreatedDateTime) >= startDate amp;amp;
System.Data.Entity.DbFunctions.TruncateTime(c.MSTChatCreatedDateTime) <= endDate).Select(x => new { x.MSTChatCreatedDateTime }).ToList().GroupBy(c => new
{
Year = c.MSTChatCreatedDateTime.ToCleanDateTime().Year,
Month = c.MSTChatCreatedDateTime.ToCleanDateTime().Month,
WeekofMonth = c.MSTChatCreatedDateTime.ToCleanDateTime().GetWeekOfMonth()
}).Select(c => new ReportVM
{
Title = string.Format("{0}/{1}/Week{2}", c.Key.Year, c.Key.Month, c.Key.WeekofMonth), //chart x Axis value.
ChatCountCreatdDate = c.Count() //chart y Axis value.
}).ToList();
return View(result);
}
Заранее спасибо.