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; } }
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) { } }
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; } }