public DashboardViewModel(IDashboardConfiguration config, IEntityService <IPrice> priceService, IEntityService <IStrategy> strategyService) { var dummyCommand = ReactiveCommand.Create(() => { }); AvailableDates = new ReactiveList <DateTime>(Enumerable.Range(0, 5).Select(offset => DateTime.Now.AddDays(-offset))); SelectedDate = AvailableDates.First(); DashboardMenu.Add(new StaticItemDescriptor(String.Format("{0} - {1}", config.ApplicationName, config.Version))); _widgetMenu = CreateWidgetMenu(); DashboardMenu.Add(_widgetMenu); this.WhenAnyValue(vm => vm.CurrentWorkspace) .Where(val => null != val) .Subscribe(obs => { _widgetMenu.GetChildrenMenuItems((item => item.GetType() == typeof(WidgetButtonItemDescriptor))).ForEach(item => { item.IsEnabled = ((item as WidgetButtonItemDescriptor).Widget as WorkspaceAwareWidgetAttribute).IsVisible(obs.State); }); }); }
public TestDashboard() { var widgets = CreateWidgetMenu(TestConstants.WidgetMenuName); DashboardMenu.Add(widgets); }