private void sortSelected(int index)
 {
     if (index < 2)
     {
         _dateSort  = index == 0 ? -1 : 1;
         _dateFirst = true;
     }
     else
     {
         _userSort  = index == 2 ? -1 : 1;
         _dateFirst = false;
     }
     LoadEntriesCommand.Execute(null);
 }
Exemplo n.º 2
0
        public void SubscribeToMessages()
        {
            MessagingCenter.Subscribe <NewEntryPage, Entry>(this, "AddEntry", async(obj, entry) =>
            {
                var _entry = entry as Entry;
                Entries.Add(_entry);

                try
                {
                    await EntryDataStore.AddAsync(_entry);
                    LoadEntriesCommand.Execute(null);
                }
                catch (Exception e)
                {
                    Console.WriteLine("AddEntry" + e);

                    if (!e.Message.Contains("A task was canceled"))
                    {
                        await App.Current.MainPage.DisplayAlert("Error", e.Message, "OK");
                    }
                }
            });

            MessagingCenter.Subscribe <EditEntryPage, Entry>(this, "EditEntry", async(obj, entry) =>
            {
                var _entry = entry as Entry;

                try
                {
                    await EntryDataStore.UpdateAsync(_entry);
                    LoadEntriesCommand.Execute(null);
                }
                catch (Exception e)
                {
                    Console.WriteLine("EditEntry" + e);

                    if (!e.Message.Contains("A task was canceled"))
                    {
                        await App.Current.MainPage.DisplayAlert("Error", e.Message, "OK");
                    }
                }
            });

            MessagingCenter.Subscribe <JournalEntriesPage, Entry>(this, "HideEntry", async(obj, entry) =>
            {
                var _entry = entry as Entry;

                try
                {
                    Entries.Remove(_entry);
                    await EntryDataStore.HideAsync(_entry.Id);
                    LoadEntriesCommand.Execute(null);
                }
                catch (Exception e)
                {
                    Console.WriteLine("HideEntry" + e);

                    if (!e.Message.Contains("A task was canceled"))
                    {
                        await App.Current.MainPage.DisplayAlert("Error", e.Message, "OK");
                    }
                }
            });

            MessagingCenter.Subscribe <JournalEntriesPage, Entry>(this, "UnhideEntry", async(obj, entry) =>
            {
                var _entry = entry as Entry;

                try
                {
                    Entries.Remove(_entry);
                    await EntryDataStore.UnhideAsync(_entry.Id);
                    LoadEntriesCommand.Execute(null);
                }
                catch (Exception e)
                {
                    Console.WriteLine("UnhideEntry" + e);

                    if (!e.Message.Contains("A task was canceled"))
                    {
                        await App.Current.MainPage.DisplayAlert("Error", e.Message, "OK");
                    }
                }
            });

            MessagingCenter.Subscribe <JournalEntriesPage, Entry>(this, "DeleteEntry", async(obj, entry) =>
            {
                var _entry = entry as Entry;

                try
                {
                    Entries.Remove(_entry);
                    await EntryDataStore.DeleteAsync(_entry.Id);
                    LoadEntriesCommand.Execute(null);
                }
                catch (Exception e)
                {
                    Console.WriteLine("DeleteEntry" + e);

                    if (!e.Message.Contains("A task was canceled"))
                    {
                        await App.Current.MainPage.DisplayAlert("Error", e.Message, "OK");
                    }
                }
            });

            MessagingCenter.Subscribe <SearchPopupPage, string[]>(this, "DateSearch", async(obj, dates) =>
            {
                var _dates = dates as string[];

                try
                {
                    await ExecuteLoadEntriesCommand(null, dates);
                }
                catch (Exception e)
                {
                    Console.WriteLine("DateSearch" + e);

                    if (!e.Message.Contains("A task was canceled"))
                    {
                        await App.Current.MainPage.DisplayAlert("Error", e.Message, "OK");
                    }
                }
            });
        }