예제 #1
0
        async Task ExecuteLoadReminderListsCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                ReminderLists.Clear();
                var lists = await ReminderListDataStore.GetModelsAsync(true);

                foreach (var list in lists)
                {
                    var reminders = await ReminderDataStore.GetModelsAsync(false, new Dictionary <Constants.Parameter, object>() { { Constants.Parameter.ReminderListId, list.Id } });

                    list.DetailString = string.Format("{0} todo of {1}", reminders.Where(r => r.Completed == false).ToList().Count(), reminders.Count());
                    ReminderLists.Add(list);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
        async Task ExecuteLoadRemindersCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                Reminders.Clear();
                var parameters = new Dictionary <Constants.Parameter, object>();
                parameters[Constants.Parameter.ReminderListId] = ReminderList.Id;
                var reminders = await ReminderDataStore.GetModelsAsync(true, parameters);

                reminders = reminders.OrderBy(r => r.Completed).ThenByDescending(r => r.DueDate);
                foreach (var reminder in reminders)
                {
                    Reminders.Add(reminder);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
        async Task UpdateReminder(Reminder reminder)
        {
            await ReminderDataStore.UpdateModelAsync(reminder);

            await ExecuteLoadRemindersCommand();
        }
 async Task DeleteReminder(Reminder reminder)
 {
     Reminders.Remove(reminder);
     await ReminderDataStore.DeleteModelAsync(reminder);
 }
 async Task AddReminder(Reminder reminder)
 {
     Reminders.Insert(0, reminder);
     await ReminderDataStore.AddModelAsync(reminder);
 }