Ejemplo n.º 1
0
 public void refresh()
 {
     if (MyEvents.Events == null)
     {
         return;
     }
     foreach (EventEntry ev in MyEvents.Events)
     {
         ev.inMySched = true;
     }
     lvForEvents.events = MyEvents.Events;
     if (MyEvents.Events.Count < 1)
     {
         this.Content = new Label
         {
             Text = "Nothing Here Yet\nTry adding an event from the Main Schedule",
             HorizontalTextAlignment = TextAlignment.Center,
             HorizontalOptions       = LayoutOptions.Center,
             VerticalOptions         = LayoutOptions.Center
         }
     }
     ;
     else
     {
         this.Content = lvForEvents;
         lvForEvents.refresh();
     }
 }
Ejemplo n.º 2
0
        public void refresh()
        {
            if (MainEvents.Events == null || MainEvents.Events.Count < 1)
            {
                this.Content = new StackLayout
                {
                    Children =
                    {
                        new Label                           {
                            Text     = "Error, database could not be loaded",
                            FontSize = 30,
                            HorizontalTextAlignment = TextAlignment.Center,
                            HorizontalOptions       = LayoutOptions.Center,
                            VerticalOptions         = LayoutOptions.Center
                        },
                        new Button
                        {
                            Text    = "Try Again",
                            Command = new Command(() =>     {
                                this.Content = null;
                                this.Content = LoadingText;
                                Task.Factory.StartNew(() => { MainEvents.refreshData(false); })
                                .ContinueWith(task =>
                                {
                                    this.refresh();
                                }, TaskScheduler.FromCurrentSynchronizationContext());
                            })
                        }
                    }
                };
            }
            else
            {
                Label NameCategory = new Label
                {
                    Text              = " Category:",
                    FontAttributes    = FontAttributes.Bold,
                    FontSize          = 17,
                    HorizontalOptions = LayoutOptions.Start,
                    VerticalOptions   = LayoutOptions.Center
                };
                Picker categories = new Picker
                {
                    Title             = "Filter by category",
                    HorizontalOptions = LayoutOptions.Fill,
                    VerticalOptions   = LayoutOptions.Center
                };
                categories.Items.Add("All");

                foreach (EventEntry cat in MainEvents.Events)
                {
                    if (!categories.Items.Contains(cat.category) && cat.category != " ")
                    {
                        categories.Items.Add(cat.category);
                    }
                }



                categories.SelectedIndexChanged += (sender, args) =>
                {
                    prevCategory = categories.SelectedIndex;
                    if (categories.SelectedIndex == 0)
                    {
                        lvForEvents.events = MainEvents.Events;
                    }
                    else
                    {
                        lvForEvents.events = MainEvents.Events.Where(x => x.category == categories.Items[categories.SelectedIndex]).ToList();
                    }
                    lvForEvents.refresh();
                };
                var tempGrid = new Grid();
                tempGrid.RowSpacing = 0;

                tempGrid.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(20, GridUnitType.Auto)
                });
                tempGrid.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(50, GridUnitType.Auto)
                });
                tempGrid.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(20, GridUnitType.Auto)
                });
                tempGrid.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(50, GridUnitType.Star)
                });
                tempGrid.Children.Add(NameCategory, 0, 0);
                var aaaa = new StackLayout {
                    Children = { categories }
                };
                tempGrid.Children.Add(aaaa, 1, 0);
                tempGrid.Children.Add(lvForEvents, 0, 2, 1, 3);


                this.Content = tempGrid;

                try
                {
                    categories.SelectedIndex = prevCategory;
                    if (categories.SelectedIndex == 0)
                    {
                        lvForEvents.events = MainEvents.Events;
                    }
                    else
                    {
                        lvForEvents.events = MainEvents.Events.Where(x => x.category == categories.Items[categories.SelectedIndex]).ToList();
                    }
                    lvForEvents.refresh();
                }
                catch
                {
                    categories.SelectedIndex = 0;
                }
            }
        }