public async void Init(int count) { var store = new StoreToFiles(); thread.MidokuCount = 0; await store.AddOrUpdateThreadInformation(thread); try { store.LoadPosts(thread); await Task.Delay(100); ScrollToCurrentOffset(); } catch (Exception ex) { if (count > 10) { var message = new MessageDialog(ex.Message, "スレッドの読み込み中にエラーが発生しました。"); await message.ShowAsync(); } else { var random = new Random(); await Task.Delay(random.Next(1, 5) * 100); Init(++count); } } }
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(); } }