Фильтровать указанные даты в ASP.net Core mvc - PullRequest
0 голосов
/ 20 ноября 2019

В настоящее время я работаю над повесткой дня, в которой я хочу вернуть дни следующей недели.

Код кода в моем контроллере для этого представления следующий:

public ViewResult List()
{

    return View(repository.Days
        .OrderBy(d => d.date));
}

Однакоэта функция только заказывает и возвращает все даты, а не только дни следующей недели. Интересно, может ли кто-нибудь помочь мне с получением дат / дней предстоящей недели и, следовательно, от оператора сортировки, которого это требует.

1 Ответ

0 голосов
/ 20 ноября 2019

Нашел подходящее решение:

    public ViewResult List()
    {
        DateTime startOfCurrentWeek = DateTime.Today.AddDays(-1 * (int)(DateTime.Today.DayOfWeek));
        DateTime startOfNextWeek = startOfCurrentWeek.AddDays(8);
        DateTime endOfNextWeek = startOfCurrentWeek.AddDays(14);

        return View(repository.Days
            .Where(d => d.date >= startOfNextWeek && d.date <= endOfNextWeek));
    }

Что этот код делает:

  1. Получить дату начала этой недели (startOfCurrentWeek)
  2. Добавляет 8 дней кначать в понедельник на следующей неделе (startOfNextWeek)
  3. Добавляет 14 дней к началу текущей недели, чтобы получить последний день следующей недели (endOfNextWeek)
  4. возвращает все дни, которые являютсяравно или после начала понедельника следующей недели (d => d.date> = startOfNextWeek)
  5. не возвращает значений после воскресенья следующей недели, таким образом ограничивая вывод 7 днями следующей недели (d.date<= endOfNextWeek) </li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...