Example #1
0
        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();
        }
Example #4
0
 public void syncOneCallback(bool requestOk, SyncOneResponse result)
 {
     return;
 }
Example #5
0
 public void syncOneCallback(bool requestOk, SyncOneResponse result)
 {
     return;
 }
Example #6
0
 public void syncOneCallback(bool requestOk, SyncOneResponse result)
 {
     Dispatcher.BeginInvoke(new syncOneCallbackUI(_syncOneCallbackUI), requestOk, result);
 }
Example #7
0
        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();
        }
Example #8
0
 public void syncOneCallback(bool requestOk, SyncOneResponse results)
 {
 }
Example #9
0
 public void syncOneCallback(bool requestOk, SyncOneResponse results)
 {
 }