private async Task RefreshItaList() { var client = new My2chClient(); try { var categories = await client.GetItaList(); var store = new StoreToFiles(); var changed = await store.AddOrUpdateCategories(categories); if (changed.Count > 0) { string changedText = ""; foreach (var ita in changed) { changedText += (ita.Name + ", "); } var dialog = new MessageDialog(changedText, "以下の板のURLが変更されました。"); await dialog.ShowAsync(); } } catch (Exception ex) { var dialog = new MessageDialog(ex.Message, "板一覧の取得中にエラーが発生しました。"); await dialog.ShowAsync(); } }
public async Task ReloadPostList() { var store = new StoreToFiles(); var client = new My2chClient(); try { var tmpThread = await store.AddOrUpdateThreadInformation(Thread); var posts = await client.GetFullPostList(tmpThread); posts = await store.AddPosts(posts, tmpThread); tmpThread.Posts = posts; Thread = tmpThread; await Task.Delay(300); ScrollToCurrentOffset(); } catch (Exception ex) { var dialog = new MessageDialog(ex.Message, "スレッドの取得中にエラーが発生しました。"); await dialog.ShowAsync(); } }
public async void ReloadThreadList() { var client = new My2chClient(); var store = new StoreToFiles(); try { await client.GetThreadList(Ita, ThreadList); } catch (Exception ex) { var dialog = new MessageDialog(ex.Message, "スレッド一覧の取得中にエラーが発生しました。"); await dialog.ShowAsync(); } }
public async Task Refresh() { var client = new My2chClient(); try { var newPosts = await client.GetFullPostList(thread); var store = new StoreToFiles(); var posts = await store.AddPosts(newPosts, thread); } catch (Exception ex) { var dialog = new MessageDialog(ex.Message, "スレッドの取得中にエラーが発生しました。"); await dialog.ShowAsync(); } }
private async void SendButtonClicked(object sender, RoutedEventArgs e) { var client = new My2chClient(); try { var res = await client.PostUpdate(viewModel.Thread, viewModel.name, viewModel.mail, viewModel.message); if (res.IsSuccessStatusCode) { if (Frame.CanGoBack) { Frame.GoBack(); } } else { var dialog = new MessageDialog(res.ReasonPhrase, "書き込みに失敗しました。"); dialog.Commands.Add(new UICommand("リトライ")); dialog.Commands.Add(new UICommand("Close")); var command = await dialog.ShowAsync(); if (command.Label == "リトライ") { SendButtonClicked(sender, e); } } } catch (Exception ex) { var dialog = new MessageDialog(ex.Message, "書き込みに失敗しました。"); dialog.Commands.Add(new UICommand("リトライ")); dialog.Commands.Add(new UICommand("Close")); var command = await dialog.ShowAsync(); if (command.Label == "リトライ") { SendButtonClicked(sender, e); } } }
protected async override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode != NavigationMode.Back) { viewModel = new ItaListPageViewModel(MainFlip); var categoryFlip = new CategoryFlipModel(MainFlip); viewModel.FlipList.Add(categoryFlip); var store = new StoreToFiles(); var categories = await store.LoadCategories(); var list = new ObservableCollection <Category>(); if (categories == null || categories.Count == 0) { var client = new My2chClient(); try { var getcategory = await client.GetItaList(); await store.AddCategories(getcategory); } catch (Exception ex) { var message = new MessageDialog("板一覧を取得するため、インターネットに接続できる状態で起動してください。", "初回起動ですか"); await message.ShowAsync(); return; } } foreach (var category in categories) { list.Add(category); } categoryFlip.CategoryList = list; MainGrid.DataContext = viewModel; } }
public async Task Refresh() { var store = new StoreToFiles(); var client = new My2chClient(); foreach (var thread in threadList) { try { var posts = await client.GetFullPostList(thread); await store.AddPostsWithMidokuCount(posts, thread); } catch (Exception ex) { var dialog = new MessageDialog(thread.Name + ": " + ex.Message, "スレッドの更新に失敗しました。"); await dialog.ShowAsync(); } } store.LoadThreads(threadList); }