public TimeTrackingViewModel(TimerService timerService, ISelectedTodoProvider selectedTodoProvider, WorkingItemsRoot manageWorkingItemsService) { TimerService = timerService; this.selectedTodoProvider = selectedTodoProvider; this.manageWorkingItemsService = manageWorkingItemsService; StartStopCommand = new DelegateCommand(ToggleStartStop); ResetCommand = new DelegateCommand(Reset); TimerService.TimeTracked += OnTimeTracked; }
public MainViewModel(TodosRoot manageTodosService, WorkingItemsRoot manageWorkingItemsService, DataLoadService dataLoadService, DataStoreService dataStoreService) { ManageTodosService = manageTodosService; ManageWorkingItemsService = manageWorkingItemsService; RibbonCommands.AddTodoCommand = new DelegateCommand(AddTodo); RibbonCommands.RemoveTodoCommand = new DelegateCommand(RemoveTodo, CanRemoveTodo); RibbonCommands.AddWorkingItemCommand = new DelegateCommand(AddWorkingItem, CanAddWorkingItem); RibbonCommands.RemoveWorkingItemCommand = new DelegateCommand(RemoveWorkingItem, CanRemoveWorkingItem); RibbonCommands.ChangeCommand = new DelegateCommand(Change); RibbonCommands.SaveCommand = new DelegateCommand(dataStoreService.Save); RibbonCommands.OpenCommand = new DelegateCommand(dataLoadService.Open); Post.Cast<MainViewModel, INotifyPropertyChanged>(this).PropertyChanged += OnPropertyChanged; GroupedTodos = new ListCollectionView(manageTodosService.Todos); GroupedTodos.GroupDescriptions.Add(new PropertyGroupDescription(Todo.TodoProperties.Done)); GroupedTodos.SortDescriptions.Add(new SortDescription(Todo.TodoProperties.Done, ListSortDirection.Ascending)); }