public MainPage() { this.InitializeComponent(); ViewModel = new TaskListPageViewModel(); this.DataContext = ViewModel; }
public TaskListPage() { InitializeComponent(); BindingContext = viewModel = new TaskListPageViewModel(0); lvCongViec.ItemTapped += TaskList_Tapped; Init(); MessagingCenter.Subscribe <TaskDetailPage, Guid>(this, "CompletedTask", async(sender, arg) => { loadingPopup.IsVisible = true; if (this.viewModel.Data.Any(x => x.Id == arg)) { var task = this.viewModel.Data.Single(x => x.Id == arg); this.viewModel.Data.Remove(task); } loadingPopup.IsVisible = false; }); MessagingCenter.Subscribe <AddTaskPage, CongViec>(this, "UpdateTask", async(sender, arg) => { loadingPopup.IsVisible = true; if (this.viewModel.Data.Any(x => x.Id == arg.Id)) { var task = this.viewModel.Data.Single(x => x.Id == arg.Id); this.viewModel.Data.Remove(task); } if (arg.Status == 0 && viewModel.Type == 0) { viewModel.Data.Insert(0, arg); } loadingPopup.IsVisible = false; }); MessagingCenter.Subscribe <AddTaskPage, CongViec>(this, "AddTask", async(sender, arg) => { loadingPopup.IsVisible = true; if (viewModel.Type == 0) { viewModel.Data.Insert(0, arg); } loadingPopup.IsVisible = false; }); MessagingCenter.Subscribe <TaskDetailPage, Guid>(this, "DeleteTask", async(sender, arg) => { loadingPopup.IsVisible = true; if (this.viewModel.Data.Any(x => x.Id == arg)) { var task = this.viewModel.Data.Single(x => x.Id == arg); this.viewModel.Data.Remove(task); } loadingPopup.IsVisible = false; }); MessagingCenter.Subscribe <ContactListPage, Guid>(this, "DeleteContact", async(sender, id) => { var tasks = viewModel.Data.Where(x => x.ContactId == id).ToList(); if (tasks.Any()) { foreach (var item in tasks) { viewModel.Data.Remove(item); } } }); }