Modulo в C # плохо работает для -1mod7 (должно быть 6, c # возвращает -1), поэтому ... Решение «oneliner» для этого будет выглядеть так:)
private static DateTime GetFirstDayOfWeek(DateTime date)
{
return date.AddDays(-(((int)date.DayOfWeek - 1) - (int)Math.Floor((double)((int)date.DayOfWeek - 1) / 7) * 7));
}