async Task ExecuteLoadItemsCommand() { if (IsBusy) { return; } IsBusy = true; try { Plans.Clear(); var plans = await PlanStore.GetDatasAsync(true); foreach (var item in plans) { Plans.Add(item); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); } finally { IsBusy = false; } }
public ParkingPlanViewModel() { Title = "Parking Plan"; Plans = new ObservableCollection <Plan>(); LoadPlansCommand = new Command(async() => await ExecuteLoadItemsCommand()); MessagingCenter.Subscribe <NewPlanPage, Plan>(this, "AddPlan", async(obj, item) => { var newItem = item as Plan; var existPlan = Plans.SingleOrDefault(x => x.Id == newItem.Id); if (existPlan != null) { Plans.Remove(existPlan); Plans.Add(newItem); await PlanStore.UpdateDataAsync(newItem); } else { Plans.Add(newItem); await PlanStore.AddDataAsync(newItem); } }); }