Поскольку вы сохраняете дату в секундах с 1 января 1970 года, решение будет использовать strftime
:
select *
from QuizHistory
where UtcNow > strftime('%s', 'now', '-1 day')
, т.е. с форматом %s
(в секундах с 1970-01-01) для даты now
с модификатором -1 дня
1) У меня должен быть moduleManager в качестве параметра в конструкторе моего MenuModuleView?
Технически Вы могли. Практически говорящий, хотя, если Вы делаете это, Вы все еще захотите определить конструктора по умолчанию для своего представления. Иначе Ваше представление не будет работать в разработчиках. Поэтому я рекомендую, чтобы свойства использовались для передачи в зависимостях компонентам UI.
2) Как я получаю каталог, доступный из MenuModuleView для перечисления доступных модулей?
Вы зависели бы от Призмы IModuleEnumerator
интерфейсное и внедрение зависимости будет заботиться о предоставлении перечислителя модуля к Вашему представлению. Принятие Вы используете Призму с контейнером Единицы, который выглядел бы примерно так:
[Dependency]
public IModuleEnumerator ModuleEnumerator
{
get; set;
}
3) От MenuModuleView, поскольку я перечисляю через модули, я создаю кнопки, присваивая ModuleInfo Свойству тегов кнопки. Таким образом, у меня есть только одно событие щелчка для загрузки модуля. Это корректно? Это чувствует запах небольшой работы-aroundish мне..
Я предложил бы, чтобы Вы имели каждое повышение кнопки та же команда WPF и вместо этого присвоились ModuleInfo
к Button
CommandParameter
свойство. Снова, Призма имеет инфраструктуру, чтобы помочь Вам сделать это чисто в составном сценарии. Посмотрите DelegateCommand
класс.
Как заключительное примечание, знать, что, пока Вы можете лениво загружать свои модули, Вы не сможете разгрузить их. Для этого Вы потребуете AppDomain
изоляция, которая является целым другим чайником рыбы.