Я в основном создаю плоскую модель просмотра для страницы расписания (ASP.NET MVC), которая имеет сетку для дней недели. В свойствах WorkTime должно быть либо существующее WorkTime из базы данных, либо null, если нет существующего.C# реорганизовать этот грязный код!
Будет отображаться только 1 неделя (с субботы по пятницу). и у меня есть индивидуальные свойства, чтобы синтаксис в моем представлении был проще.
+------+-----+-----+-----+-----+-----+-----+-----+
| Desc | Sat | Sun | Mon | Tue | Wed | Thu | Fri |
+------+-----+-----+-----+-----+-----+-----+-----+
|______|_____|_____|_____|_____|_____|_____|_____|
|______|_____|_____|_____|_____|_____|_____|_____|
|______|_____|_____|_____|_____|_____|_____|_____|
|______|_____|_____|_____|_____|_____|_____|_____|
Все даты, которые прибывают из и сохранялись в базу данных нет времени элемента (все полночь часов) и в субботу в пятницу свойство DateTime все готовы уже.
Свойства Я устанавливаю
public WorkTime SaturdayWorkTime { get; private set; }
public WorkTime SundayWorkTime { get; private set; }
public WorkTime MondayWorkTime { get; private set; }
public WorkTime TuesdayWorkTime { get; private set; }
public WorkTime WednesdayWorkTime { get; private set; }
public WorkTime ThursdayWorkTime { get; private set; }
public WorkTime FridayWorkTime { get; private set; }
текущей итерации ...
public DateTime Saturday { get; private set; }
public DateTime Sunday { get; private set; }
public DateTime Monday { get; private set; }
public DateTime Tuesday { get; private set; }
public DateTime Wednesday { get; private set; }
public DateTime Thursday { get; private set; }
public DateTime Friday { get; private set; }
_workTimes = _workTimeRepository.GetByWorkAssignmentID(WorkAssignment.ID, Saturday, Friday);
SaturdayWorkTime = GetWorkTimeForDay(DayOfWeek.Saturday);
SundayWorkTime = GetWorkTimeForDay(DayOfWeek.Sunday);
MondayWorkTime = GetWorkTimeForDay(DayOfWeek.Monday);
TuesdayWorkTime = GetWorkTimeForDay(DayOfWeek.Tuesday);
WednesdayWorkTime = GetWorkTimeForDay(DayOfWeek.Wednesday);
ThursdayWorkTime = GetWorkTimeForDay(DayOfWeek.Thursday);
FridayWorkTime = GetWorkTimeForDay(DayOfWeek.Friday);
с этим вспомогательным методом ...
private WorkTime GetWorkTimeForDay(DayOfWeek dow)
{
return _workTimes.FirstOrDefault(x => x.Date.DayOfWeek == dow);
}
Я бы предположил, что 'Суббота 'и' Пятница' являются нижними и верхними диапазонами для предметов, которые вы извлекаете. Почему они являются свойствами, хотя, и для чего все остальные дни используются? 0.o – Thorarin
Кроме того, я несколько озадачен тем, почему кто-то, у кого есть ваша репутация и репутация SO, нуждаются в других, чтобы сделать это лучше, чем сейчас. Никакого преступления не было, я просто удивлен. – Thorarin
ха-ха ... я думаю, что в тот момент, когда я доволен им в тех целях, которые мне нужны. Сб до Пт устанавливаются, потому что мне нужно ссылаться на них в моем представлении, когда я отправляю обратно на сервер. –