Esempio n. 1
0
 public StudentDetailsWindowViewModel(Student student, Teacher teacher, IEducationMaterialsManager educationMaterialsManager, IEducationTasksManager tasksManager)
 {
     Materials    = new ObservableCollection <StudentMaterialViewModel>(educationMaterialsManager.Select(student).Select(i => new StudentMaterialViewModel(i)));
     Tasks        = new ObservableCollection <StudentTaskViewModel>(tasksManager.Select(student).Select(i => new StudentTaskViewModel(i)));
     AddMaterials = new DelegateCommand(() => {
         _materialsToStudent = new MaterialsToStudentViewModel(educationMaterialsManager.Select(teacher).Select(i => new MaterialSelectorItem(i, Materials.Any(j => j.Model().Owner.Equals(i.Owner) && j.Theme == i.Theme))));
         _materialsToStudent.ItemsChanged += (sender, e) => {
             foreach (var foo in _materialsToStudent.Materials.Where(i => i.IsSelected).Where(i => !Materials.Any(j => j.Equals(i))))
             {
                 Materials.Add(new StudentMaterialViewModel(new StudentEducationMaterial(student, foo.EducationMaterial)));
             }
         };
         ViewService.CreateView(_materialsToStudent).ShowDialog();
     });
     AddTasks = new DelegateCommand(() => {
         _taskToStudent = new TaskToStudentWindowViewModel(tasksManager.Select(teacher).Select(i => new TaskSelectorItem(i, Tasks.Any(j => j.TaskNumder == i.Id))));
         _taskToStudent.ItemsChanged += (sender, e) => {
             foreach (var task in _taskToStudent.Tasks.Where(i => i.IsSelected).Where(i => !Tasks.Any(j => j.TaskNumder == i.Task.Id)))
             {
                 Tasks.Add(new StudentTaskViewModel(new StudentEducationTask(student, task.Task)));
             }
         };
         ViewService.CreateView(_taskToStudent).ShowDialog();
     });
     Save = new DelegateCommand(() => {
         foreach (var material in Materials.Select(i => i.Model()))
         {
             educationMaterialsManager.Insert(material);
         }
         foreach (var task in Tasks)
         {
             tasksManager.Insert(task.Model());
         }
         ViewService.Message("Изменения сохранены");
     });
     _student = student;
 }
Esempio n. 2
0
 public StudentInfoViewModel(Student student, IViewModelsFactory factory, IEducationMaterialsManager materialsManager, IEducationTasksManager tasksManager)
 {
     _student            = student;
     Materials           = new ObservableCollection <StudentEducationMaterial>(materialsManager.Select(student));
     Tasks               = new ObservableCollection <StudentEducationTask>(tasksManager.Select(student));
     OpenMaterialDetails = new DelegateCommand(() => {
         if (SelectedMaterial != null)
         {
             ViewService.CreateView(factory.MaterialDetailsWindowViewModel(SelectedMaterial)).ShowDialog();
         }
     });
     OpenTaskDetails = new DelegateCommand(() => {
         if (SelectedTask != null)
         {
             ViewService.CreateView(factory.TaskDetailsWindowViewModel(SelectedTask)).ShowDialog();
         }
     });
 }