public HelpDeskViewModel([Import] ScrumFactory.Composition.IEventAggregator aggregator) { this.aggregator = aggregator; aggregator.Subscribe<string>(ScrumFactoryEvent.ConfigChanged, c => { if (c == "TicketProjectsEnabled") OnPropertyChanged("PanelPlacement"); }); OnLoadCommand = new ScrumFactory.Composition.DelegateCommand(() => { if (NeedRefresh) LoadData(); }); RefreshCommand = new ScrumFactory.Composition.DelegateCommand(LoadData); ShowItemCommand = new ScrumFactory.Composition.DelegateCommand<BacklogItem>(ShowItem); AddJobCommand = new ScrumFactory.Composition.DelegateCommand(AddJob); delayFilter = new DelayAction(800, new DelayAction.ActionDelegate(() => { ticketsSource.View.Refresh(); })); ticketsSource = new System.Windows.Data.CollectionViewSource(); ticketsSource.Filter += new System.Windows.Data.FilterEventHandler(ticketsSource_Filter); NeedRefresh = true; }
public BacklogItemTaskListViewModel([Import] ScrumFactory.Composition.IEventAggregator aggregator) { this.aggregator = aggregator; RefreshCommand = new ScrumFactory.Composition.DelegateCommand(LoadTasks); ShowTaskCommand = new ScrumFactory.Composition.DelegateCommand<Task>(ShowTask); AddTaskCommand = new ScrumFactory.Composition.DelegateCommand<string>(CanAddTask, s => { AddTask(s == "True"); }); ConfirmAddTaskCommand = new ScrumFactory.Composition.DelegateCommand(ConfirmAddTask); CancelAddTaskCommand = new ScrumFactory.Composition.DelegateCommand(CancelAddTask); ShowRepositoryLogCommand = new ScrumFactory.Composition.DelegateCommand<int>(ShowRepositoryLog); NeedRefresh = true; }