Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.ObjectModel;
- using System.Data.Entity;
- using System.Linq;
- using System.Threading.Tasks;
- using System.Windows.Input;
- using To_DoList.Commands;
- using To_DoList.Contracts;
- using To_DoList.Models;
- using To_DoList.Services;
- using To_DoList.Views;
- namespace To_DoList.ViewModels
- {
- public class TaskViewModel: BaseViewModel, IObserver
- {
- private readonly IDataService _dataService = DataService.GetInstance();
- private Models.Task _selectedTask;
- private Models.Category _selectedCategory;
- public TaskViewModel()
- {
- _dataService.AddObserver(this);
- var tasks = _dataService.GetObjects<Models.Task>();
- var categories = _dataService.GetObjects<Models.Category>();
- Tasks = new ObservableCollection<Models.Task>(tasks);
- Categories = new ObservableCollection<Models.Category>(categories);
- RemoveActivityCommand = new RelayCommand(RemoveTask_Executed, RemoveTask_CanExecute);
- }
- public ObservableCollection<Models.Task> Tasks { get; set; }
- public ObservableCollection<Models.Category> Categories { get; set; }
- public ICommand RemoveActivityCommand { get; set; }
- public Models.Task SelectedTask
- {
- get { return _selectedTask; }
- set
- {
- _selectedTask = value;
- OnPropertyChanged("SelectedTask");
- }
- }
- public Models.Category SelectedCategory
- {
- get { return _selectedCategory; }
- set
- {
- _selectedCategory = value;
- OnPropertyChanged("SelectedCategory");
- }
- }
- public void Update(Type t)
- {
- var tasks = _dataService.GetObjects<Models.Task>();
- var categories = _dataService.GetObjects<Models.Category>();
- Tasks.Clear();
- Categories.Clear();
- foreach (var task in tasks)
- {
- Tasks.Add(task);
- }
- foreach (var category in categories)
- {
- Categories.Add(category);
- }
- }
- private bool RemoveTask_CanExecute(object sender)
- {
- return SelectedTask != null;
- }
- private void RemoveTask_Executed(object sender)
- {
- _dataService.Delete(SelectedTask);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement