private void requestSyncOneCompleted(IAsyncResult result) { HttpWebRequest wr = webRequest; lock (this) { webRequest = null; if (timer != null) { timer.Dispose(); timer = null; } } if (wr == null || !wr.HaveResponse) { callback.syncOneCallback(false, null); return; } try { HttpWebResponse webResponse = (HttpWebResponse)wr.EndGetResponse(result); if (webResponse.StatusCode != HttpStatusCode.OK) { callback.syncOneCallback(false, null); return; } XmlSerializer xml = new XmlSerializer(typeof(SyncOneResponse)); try { SyncOneResponse sor = (SyncOneResponse)xml.Deserialize(webResponse.GetResponseStream()); callback.syncOneCallback(true, sor); } catch (InvalidOperationException) { callback.syncOneCallback(false, null); } } catch (WebException) { callback.syncOneCallback(false, null); return; } }
public void syncOneCallback(bool requestOk, SyncOneResponse result) { Dispatcher.BeginInvoke(new syncOneCallbackUI(_syncOneCallbackUI), requestOk, result); }
private void _syncOneCallbackUI(bool requestOk, SyncOneResponse res) { dtimer.Stop(); if (!requestOk) { buttonUpload.Content = "Check global place"; buttonUpload.Click += buttonUpload_Click; Canvas.SetZIndex(syncError, 3); syncError.Visibility = Visibility.Visible; syncErrorAnimation.RepeatBehavior = new RepeatBehavior(5); syncErrorAnimation.Begin(); return; } uploaded = true; buttonUpload.Visibility = Visibility.Collapsed; resPlace.Text = res.place.ToString(); res4.Text = " Time: " + Utils.formatTime(res.besttime) + "; Moves: " + res.bestmoves; scorePanelInternet.Visibility = Visibility.Visible; // save best results in case if tombstoming needed internetBestMoves = res.bestmoves; internetBestTime = res.besttime; internetPlace = res.place; switch (diff) { case Difficulty.EASY: puzzle.timeeasyb = res.besttime; puzzle.moveseasyb = res.bestmoves; if (res.place < puzzle.easyp) puzzle.easyp = res.place; puzzle.userlisteasy = res.userlist; break; case Difficulty.MEDIUM: puzzle.timemediumb = res.besttime; puzzle.movesmediumb = res.bestmoves; if (res.place < puzzle.mediump) puzzle.mediump = res.place; puzzle.userlistmedium = res.userlist; break; case Difficulty.HARD: puzzle.timehardb = res.besttime; puzzle.moveshardb = res.bestmoves; if (res.place < puzzle.hardp) puzzle.hardp = res.place; puzzle.userlisthard = res.userlist; break; case Difficulty.EXPERT: puzzle.timeexpertb = res.besttime; puzzle.movesexpertb = res.bestmoves; if (res.place < puzzle.expertp) puzzle.expertp = res.place; puzzle.userlistexpert = res.userlist; break; } puzzleAdapter.saveScores(); }
public void syncOneCallback(bool requestOk, SyncOneResponse result) { return; }
private void _syncOneCallbackUI(bool requestOk, SyncOneResponse res) { dtimer.Stop(); if (!requestOk) { buttonUpload.Content = "Check global place"; buttonUpload.Click += buttonUpload_Click; Canvas.SetZIndex(syncError, 3); syncError.Visibility = Visibility.Visible; syncErrorAnimation.RepeatBehavior = new RepeatBehavior(5); syncErrorAnimation.Begin(); return; } uploaded = true; buttonUpload.Visibility = Visibility.Collapsed; resPlace.Text = res.place.ToString(); res4.Text = " Time: " + Utils.formatTime(res.besttime) + "; Moves: " + res.bestmoves; scorePanelInternet.Visibility = Visibility.Visible; // save best results in case if tombstoming needed internetBestMoves = res.bestmoves; internetBestTime = res.besttime; internetPlace = res.place; switch (diff) { case Difficulty.EASY: puzzle.timeeasyb = res.besttime; puzzle.moveseasyb = res.bestmoves; if (res.place < puzzle.easyp) { puzzle.easyp = res.place; } puzzle.userlisteasy = res.userlist; break; case Difficulty.MEDIUM: puzzle.timemediumb = res.besttime; puzzle.movesmediumb = res.bestmoves; if (res.place < puzzle.mediump) { puzzle.mediump = res.place; } puzzle.userlistmedium = res.userlist; break; case Difficulty.HARD: puzzle.timehardb = res.besttime; puzzle.moveshardb = res.bestmoves; if (res.place < puzzle.hardp) { puzzle.hardp = res.place; } puzzle.userlisthard = res.userlist; break; case Difficulty.EXPERT: puzzle.timeexpertb = res.besttime; puzzle.movesexpertb = res.bestmoves; if (res.place < puzzle.expertp) { puzzle.expertp = res.place; } puzzle.userlistexpert = res.userlist; break; } puzzleAdapter.saveScores(); }
public void syncOneCallback(bool requestOk, SyncOneResponse results) { }