コード例 #1
0
        public ConventionStateViewModel(ITimeProvider timeProvider, IEventsViewModelContext eventsViewModelContext)
        {
            InitializeDispatcherFromCurrentThread();

            _timeProvider = timeProvider;
            _timeProvider.WatchProperty(nameof(_timeProvider.CurrentDateTimeMinuteUtc), args => Invalidate());

            _eventsViewModelContext = eventsViewModelContext;
            _eventsViewModelContext.Invalidated += (sender, args) => Invalidate();

            Invalidate();
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        public EventConferenceDayViewModel(
            EventConferenceDay entity, 
            ITimeProvider timeProvider,
            Func<ICollection<EventEntryViewModel>> eventEntryViewModelSelector)
        {
            InitializeDispatcherFromCurrentThread();

            Entity = entity;
            _eventEntryViewModelSelector = eventEntryViewModelSelector;

            _timeProvider = timeProvider;
            _timeProvider.WatchProperty(
                nameof(_timeProvider.CurrentDateTimeMinuteUtc),
                _ => Invalidate());

            Invalidate();
        }