Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. using System;
  2. using System.Collections.ObjectModel;
  3. using System.Data.Entity;
  4. using System.Linq;
  5. using System.Threading.Tasks;
  6. using System.Windows.Input;
  7. using To_DoList.Commands;
  8. using To_DoList.Contracts;
  9. using To_DoList.Models;
  10. using To_DoList.Services;
  11. using To_DoList.Views;
  12.  
  13. namespace To_DoList.ViewModels
  14. {
  15. public class TaskViewModel: BaseViewModel, IObserver
  16. {
  17. private readonly IDataService _dataService = DataService.GetInstance();
  18.  
  19. private Models.Task _selectedTask;
  20. private Models.Category _selectedCategory;
  21.  
  22. public TaskViewModel()
  23. {
  24. _dataService.AddObserver(this);
  25.  
  26. var tasks = _dataService.GetObjects<Models.Task>();
  27. var categories = _dataService.GetObjects<Models.Category>();
  28.  
  29. Tasks = new ObservableCollection<Models.Task>(tasks);
  30. Categories = new ObservableCollection<Models.Category>(categories);
  31.  
  32. RemoveActivityCommand = new RelayCommand(RemoveTask_Executed, RemoveTask_CanExecute);
  33. }
  34.  
  35. public ObservableCollection<Models.Task> Tasks { get; set; }
  36. public ObservableCollection<Models.Category> Categories { get; set; }
  37.  
  38. public ICommand RemoveActivityCommand { get; set; }
  39.  
  40. public Models.Task SelectedTask
  41. {
  42. get { return _selectedTask; }
  43. set
  44. {
  45. _selectedTask = value;
  46. OnPropertyChanged("SelectedTask");
  47. }
  48. }
  49.  
  50. public Models.Category SelectedCategory
  51. {
  52. get { return _selectedCategory; }
  53. set
  54. {
  55. _selectedCategory = value;
  56. OnPropertyChanged("SelectedCategory");
  57. }
  58. }
  59.  
  60. public void Update(Type t)
  61. {
  62. var tasks = _dataService.GetObjects<Models.Task>();
  63. var categories = _dataService.GetObjects<Models.Category>();
  64.  
  65. Tasks.Clear();
  66. Categories.Clear();
  67.  
  68. foreach (var task in tasks)
  69. {
  70. Tasks.Add(task);
  71. }
  72.  
  73. foreach (var category in categories)
  74. {
  75. Categories.Add(category);
  76. }
  77. }
  78.  
  79. private bool RemoveTask_CanExecute(object sender)
  80. {
  81. return SelectedTask != null;
  82. }
  83.  
  84. private void RemoveTask_Executed(object sender)
  85. {
  86. _dataService.Delete(SelectedTask);
  87. }
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement