Пример #1
0
 void Show_Files_Completed(object sender, LiveOperationCompletedEventArgs e)
 {
     wait_async           = false;
     client.GetCompleted -= Show_Files_Completed;
     if (e.Error == null)
     {
         list_files_skydrive = new List <SkyDriveContent>();
         List <object> data = (List <object>)e.Result["data"];
         foreach (IDictionary <string, object> content in data)
         {
             string test_extension = content["name"].ToString().Substring(content["name"].ToString().Length - 7, 7);
             if (test_extension == "gpx.txt")
             {
                 SkyDriveContent skyContent = new SkyDriveContent();
                 skyContent.Name = content["name"].ToString().Substring(0, content["name"].ToString().Length - 4);
                 skyContent.Id   = (string)content["id"];
                 list_files_skydrive.Add(skyContent);
             }
         }
         ListBox_SkyContent.ItemsSource = list_files_skydrive;
         textBlockStatus.Text           = "Connecté";
     }
     else
     {
         MessageBox.Show("Erreur liste fichiers :" + e.Error.ToString());
         return;
     }
 }
Пример #2
0
        private async void SkyDriveItem_Click(object sender, EventArgs e)
        {
            AppUtils.FlurryLog("SkyDrive");

            if (client == null)
            {
                return;
            }
            if (is_upload_started)
            {
                Dispatcher.BeginInvoke(() => AppUtils.ToastPromptShow("阅FM", "请等待上传操作结束后开始新上传"));
                return;
            }
            is_upload_started = true;

            Dispatcher.BeginInvoke(() => AppUtils.ToastPromptShow("阅FM", "正在处理上传请求.."));

            if (this.apiManager.currentArticle == null)
            {
                return;
            }
            ArticleContent content = this.apiManager.currentArticle;

            var folderData = new Dictionary <string, object>();

            client = new LiveConnectClient(client.Session);

            try
            {
                var result = await client.GetAsync("me/skydrive/files");

                SkyDriveContent            sdc = new SkyDriveContent();
                DataContractJsonSerializer ds  = new DataContractJsonSerializer(typeof(SkyDriveContent));
                byte[]       bs = System.Text.Encoding.Unicode.GetBytes(result.RawResult);
                MemoryStream ms = new MemoryStream(bs);
                sdc = ds.ReadObject(ms) as SkyDriveContent;
                string folder = null;
                foreach (var item in sdc.data)
                {
                    if (item.name == "阅FM")
                    {
                        folder = item.id;
                    }
                }
                if (folder == null)
                {
                    Dispatcher.BeginInvoke(() => AppUtils.ToastPromptShow("阅FM", "正在创建上传目标文件夹.."));

                    folderData.Add("name", "阅FM");
                    result = await client.PostAsync("me/skydrive", folderData);

                    folder = result.Result.ContainsKey("id") ? result.Result["id"].ToString() : null;
                    SendFileToSkyDrive(client, folder, content);
                    return;
                }
                SendFileToSkyDrive(client, folder, content);
            }
            catch (Exception e5)
            {
            }
        }
Пример #3
0
        void clientDataFetch_GetCompleted(object sender, LiveOperationCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                // extract return data and populate ContentList with document names
                List<object> data = (List<object>)e.Result["data"];
                contentList.Clear();
                foreach (IDictionary<string, object> content in data)
                {
                    SkyDriveContent skyContent = new SkyDriveContent();
                    skyContent.Name = (string)content["name"];
                    skyContent.Type = (string)content["type"];
                    skyContent.ID = (string)content["id"];
                    contentList.Add(skyContent);
                }

                this.progressIndicator.IsVisible = false;
                this.contentListBox.ItemsSource = contentList;
            }
        }