Пример #1
0
 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;
 }
Пример #2
0
        /// <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;
        }