public ProjectViewModel( Project project ) { Model = project; TodoRepo = new TodoRepository( App.Session ); Todos = new ObservableCollection<TodoViewModel>( Model.Todos.Select( t => new TodoViewModel( t ) ) ); Todos.CollectionChanged += Todos_CollectionChanged; foreach( var todo in Todos ) { todo.DeleteRequested += Todo_DeleteRequested; todo.SaveRequested += Todo_SaveRequested; } }
private void ExecuteNewProjectCommand() { var project = new Project { Name = NewProjectName }; ProjectRepo.Add( project ); var projectVm = new ProjectViewModel( project ); projectVm.CurrentChanged += Proj_CurrentChanged; Projects.Add( projectVm ); if( CurrentProject != null ) { CurrentProject.IsCurrent = false; } CurrentProject = projectVm; CurrentProject.IsCurrent = true; Reset(); }
public void _BeforeTest() { Tags = new[] { new Tag {Name = "Tag1"}, new Tag {Name = "Tag2"}, new Tag {Name = "Tag3"} }; Todos = new[] { new Todo {Summary = "Test"}, new Todo {Summary = "abc", Details = "details"}, new Todo {Summary = "123", Done = true} }; Todos[0].Tags.Add( Tags[1] ); Todos[1].Tags.Add( Tags[1] ); Todos[1].Tags.Add( Tags[2] ); Project = new Project(); foreach( var t in Tags ) { Project.Tags.Add( t ); } foreach( var t in Todos ) { Project.Todos.Add( t ); } ProjectVm = new ProjectViewModel( Project ); var mock = new Mock<IProjectListViewModel>(); mock.SetupGet( x => x.CurrentProject ).Returns( ProjectVm ); ProjectListVm = mock.Object; }