protected async override void OnNavigatedTo(NavigationEventArgs e) { if (await CoreData.Initialize()) { //iterate through the folder and get all timetables if (await CoreData.GetTimetables()) { } } else { //if something happened then suggest a fix for the user MessageDialog dialog = new MessageDialog("There was a problem initializing the data storage.\nTry closing and reopening the app.", "Oops"); await dialog.ShowAsync(); } back.Tapped += (a, b) => Frame.Navigate(typeof(StartPage)); query = e.Parameter as string; header.Text = "Search results for " + '"' + query + '"'; foreach (StudentDataBundle tb in CoreData.Timetables) { ComboBoxItem item = new ComboBoxItem { Content = tb.Name, Tag = tb }; timetables.Items.Add(item); } timetables.SelectedIndex = 0; foreach (Course model in ((timetables.SelectedItem as FrameworkElement).Tag as StudentDataBundle).Courses) { ComboBoxItem item = new ComboBoxItem { Content = model.Name, Tag = model, Foreground = new SolidColorBrush(model.TileColor) }; classes.Items.Add(item); } classes.SelectedIndex = 0; timetables.SelectionChanged += (a, b) => { classes.Items.Clear(); foreach (Course model in ((timetables.SelectedItem as FrameworkElement).Tag as StudentDataBundle).Courses) { ComboBoxItem item = new ComboBoxItem { Content = model.Name, Tag = model, Foreground = new SolidColorBrush(model.TileColor) }; classes.Items.Add(item); } if (classes.Items.Count > 0) { classes.SelectedIndex = 0; } Search(); }; foreach (Module module in ((classes.SelectedItem as FrameworkElement).Tag as Course).Modules) { ComboBoxItem item = new ComboBoxItem { Content = module.Name, Tag = module }; modules.Items.Add(item); } if (modules.Items.Count > 0) { modules.SelectedIndex = 0; } classes.SelectionChanged += (a, b) => { modules.Items.Clear(); foreach (Module module in ((classes.SelectedItem as FrameworkElement).Tag as Course).Modules) { ComboBoxItem item = new ComboBoxItem { Content = module.Name, Tag = module }; modules.Items.Add(item); } if (modules.Items.Count > 0) { modules.SelectedIndex = 0; } Search(); }; target.SelectionChanged += (a, b) => Search(); everywhere.Tapped += (a, b) => { foreach (FrameworkElement elem in filters.Children) { if (elem != in_timetable && elem != timetables) { elem.Visibility = (everywhere.IsChecked.Value) ? Visibility.Collapsed : Visibility.Visible; } } Search(); }; }
protected async override void OnNavigatedTo(NavigationEventArgs e) { self = (e.Parameter as object[])[1] as Course;//keep for reference //set default values title.Foreground = new SolidColorBrush(self.TileColor); back.Foreground = new SolidColorBrush(self.TileColor); add.Foreground = new SolidColorBrush(self.TileColor); edit.Foreground = new SolidColorBrush(self.TileColor); pin.Foreground = new SolidColorBrush(self.TileColor); title.Text = self.Name + " definitions"; //Handle pinning to start screen bool isPinned = false; foreach (SecondaryTile tl in await SecondaryTile.FindAllForPackageAsync()) { if (tl.TileId == self.Name.Replace(" ", "") + "definitions") { pin.Icon = ""; isPinned = true; } } pin.Tapped += async(a, b) => { Uri logo = new Uri("ms-appx:///Assets/TileLogo.png"); //icon SecondaryTile tile = new SecondaryTile(); tile.BackgroundColor = self.TileColor; //course color tile.TileId = self.Name.Replace(" ", "") + "definitions"; //unique id tile.Logo = logo; tile.ForegroundText = ForegroundText.Light; tile.DisplayName = "DefinitionsEditor for " + self.Name; tile.ShortName = self.Name + " definitions"; tile.TileOptions = TileOptions.ShowNameOnLogo; tile.Arguments = "definitions," + ((e.Parameter as object[])[0] as StudentDataBundle).Name + "," + self.Name;//used to direct to appropiate page if (!isPinned) { isPinned = await tile.RequestCreateAsync(); pin.Icon = ""; } else { isPinned = !await tile.RequestDeleteAsync(); pin.Icon = ""; } }; back.Tapped += async(a, b) => { await CoreData.SaveTimetable((e.Parameter as object[])[0] as StudentDataBundle); Frame.Navigate(typeof(MainPage), (e.Parameter as object[])[0]); }; //this will enable filtering by module moduleHolder.fill(self, typeof(DefinitionsEditor)); moduleHolder.OnChosen += (module) => { refresh(); }; refresh(); add.Tapped += (q, b) => { Definition def = new Definition { Caption = "Title here", Content = "Definition or explanation goes here!" }; moduleHolder.Chosen.Definitions.Add(def); refresh(); }; //change the editable mode of each box edit.Tapped += (a, b) => { if ((edit.Foreground as SolidColorBrush).Color == Windows.UI.Colors.Black) { foreach (EditableItem box in holder.Children) { box.setEditable(false); } edit.Foreground = new SolidColorBrush(self.TileColor); } else { foreach (EditableItem box in holder.Children) { box.setEditable(true); } edit.Foreground = new SolidColorBrush(Windows.UI.Colors.Black); } }; }
private async void export_clicked(object sender, Windows.UI.Xaml.RoutedEventArgs e) { await CoreData.ExportTimetable(self); }