public ConventionStateViewModel(ITimeProvider timeProvider, IEventsViewModelContext eventsViewModelContext) { InitializeDispatcherFromCurrentThread(); _timeProvider = timeProvider; _timeProvider.WatchProperty(nameof(_timeProvider.CurrentDateTimeMinuteUtc), args => Invalidate()); _eventsViewModelContext = eventsViewModelContext; _eventsViewModelContext.Invalidated += (sender, args) => Invalidate(); Invalidate(); }
public UpcomingEventsViewModel(ITimeProvider timeProvider, IEventsViewModelContext eventsViewModelContext) { InitializeDispatcherFromCurrentThread(); _eventsViewModelContext = eventsViewModelContext; _eventsViewModelContext.Invalidated += (sender, args) => { Invalidate(); }; _timeProvider = timeProvider; _timeProvider.WatchProperty(nameof(_timeProvider.CurrentDateTimeMinuteUtc), args => { Invalidate(); }); UpcomingEvents = new ObservableCollection<EventEntryViewModel>(); RunningEvents = new ObservableCollection<EventEntryViewModel>(); Invalidate(); }
public EventConferenceDayViewModel( EventConferenceDay entity, ITimeProvider timeProvider, Func<ICollection<EventEntryViewModel>> eventEntryViewModelSelector) { InitializeDispatcherFromCurrentThread(); Entity = entity; _eventEntryViewModelSelector = eventEntryViewModelSelector; _timeProvider = timeProvider; _timeProvider.WatchProperty( nameof(_timeProvider.CurrentDateTimeMinuteUtc), _ => Invalidate()); Invalidate(); }