private async void reload() { try { HttpClient c = new HttpClient(HAPSettings.certfilter); c.DefaultRequestHeaders.Cookie.Add(new HttpCookiePairHeaderValue("token", HAPSettings.CurrentToken[0])); c.DefaultRequestHeaders.Cookie.Add(new HttpCookiePairHeaderValue(HAPSettings.CurrentToken[2], HAPSettings.CurrentToken[1])); c.DefaultRequestHeaders.Accept.Add(new Windows.Web.Http.Headers.HttpMediaTypeWithQualityHeaderValue("application/json")); if (path == "") { bottomAppBar.IsEnabled = downloadbutton.IsEnabled = deletebutton.IsEnabled = uploadbutton.IsEnabled = false; JSONDrive[] drives = JsonConvert.DeserializeObject <JSONDrive[]>(await c.GetStringAsync(new Uri(HAPSettings.CurrentSite.Address, "./api/myfiles/drives"))); itemsViewSource.Source = drives; driveGridView.Visibility = Windows.UI.Xaml.Visibility.Visible; fileGridView.Visibility = Windows.UI.Xaml.Visibility.Collapsed; driveGridView.SelectedIndex = -1; } else { JSONFile[] files = JsonConvert.DeserializeObject <JSONFile[]>(await c.GetStringAsync(new Uri(HAPSettings.CurrentSite.Address, "./api/myfiles/" + path.Replace('\\', '/') + "?" + DateTime.Now.Ticks))); itemsViewSource.Source = files; driveGridView.Visibility = Windows.UI.Xaml.Visibility.Collapsed; fileGridView.Visibility = Windows.UI.Xaml.Visibility.Visible; fileGridView.SelectedIndex = -1; JSONUploadParams prop = JsonConvert.DeserializeObject <JSONUploadParams>(await c.GetStringAsync(new Uri(HAPSettings.CurrentSite.Address, "./api/myfiles/UploadParams/" + path.Replace('\\', '/')))); Params = prop; bottomAppBar.IsEnabled = prop.Properties.Permissions.ReadData; uploadbutton.IsEnabled = prop.Properties.Permissions.AppendData; } } catch (Exception ex) { MessageDialog mes = new MessageDialog(ex.ToString(), "An error has occured processing this request"); mes.Commands.Add(new UICommand("OK")); mes.DefaultCommandIndex = 0; mes.ShowAsync(); Frame.GoBack(); } pro.Visibility = Windows.UI.Xaml.Visibility.Collapsed; loading.IsIndeterminate = false; fileGridView.IsEnabled = true; }
/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="navigationParameter">The parameter value passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested. /// </param> /// <param name="pageState">A dictionary of state preserved by this page during an earlier /// session. This will be null the first time a page is visited.</param> protected override async void LoadState(Object navigationParameter, Dictionary <String, Object> pageState) { loading.IsIndeterminate = true; path = navigationParameter as string; HttpClient c = new HttpClient(HAPSettings.certfilter); bool tokengood = false; try { c.DefaultRequestHeaders.Cookie.Add(new HttpCookiePairHeaderValue("token", HAPSettings.CurrentToken[0])); c.DefaultRequestHeaders.Cookie.Add(new HttpCookiePairHeaderValue(HAPSettings.CurrentToken[2], HAPSettings.CurrentToken[1])); tokengood = true; } catch { MessageDialog mes = new MessageDialog("Your Logon Token has Expired"); mes.Commands.Add(new UICommand("OK")); mes.DefaultCommandIndex = 0; mes.ShowAsync(); Frame.Navigate(typeof(MainPage)); } if (tokengood) { c.DefaultRequestHeaders.Accept.Add(new HttpMediaTypeWithQualityHeaderValue("application/json")); try { if (path == "") { pageTitle.Text = "My Drives"; bottomAppBar.IsEnabled = downloadbutton.IsEnabled = deletebutton.IsEnabled = uploadbutton.IsEnabled = false; JSONDrive[] drives = JsonConvert.DeserializeObject <JSONDrive[]>(await c.GetStringAsync(new Uri(HAPSettings.CurrentSite.Address, "./api/myfiles/drives"))); itemsViewSource.Source = drives; driveGridView.Visibility = Windows.UI.Xaml.Visibility.Visible; fileGridView.Visibility = Windows.UI.Xaml.Visibility.Collapsed; driveGridView.SelectedIndex = -1; } else { pageTitle.Text = path.Replace("/", "\\").Replace("\\", " \\ "); JSONFile[] files = JsonConvert.DeserializeObject <JSONFile[]>(await c.GetStringAsync(new Uri(HAPSettings.CurrentSite.Address, "./api/myfiles/" + path.Replace('\\', '/') + "?" + DateTime.Now.Ticks))); itemsViewSource.Source = files; driveGridView.Visibility = Windows.UI.Xaml.Visibility.Collapsed; fileGridView.Visibility = Windows.UI.Xaml.Visibility.Visible; fileGridView.SelectedIndex = -1; JSONUploadParams prop = JsonConvert.DeserializeObject <JSONUploadParams>(await c.GetStringAsync(new Uri(HAPSettings.CurrentSite.Address, "./api/myfiles/UploadParams/" + path.Replace('\\', '/')))); Params = prop; bottomAppBar.IsEnabled = prop.Properties.Permissions.ReadData; uploadbutton.IsEnabled = prop.Properties.Permissions.AppendData; } } catch (Exception ex) { MessageDialog mes = new MessageDialog(ex.ToString(), "An error has occured processing this request"); mes.Commands.Add(new UICommand("OK")); mes.DefaultCommandIndex = 0; mes.ShowAsync(); Frame.GoBack(); } } loading.IsIndeterminate = false; }