public void Show(ExceptionCheckCallback callback) { _DateTimeQuestionShown = DateTime.Now; ViewModelVisibility = Visibility.Visible; //DispatchShown(); var eventViewing = new History.Events.ViewingPhraseOnScreenEvent(Line.Phrase); History.HistoryPublisher.Ton.PublishEvent(eventViewing); var reviewingLineOrderEvent = new History.Events.ReviewingLineOrderEvent(Line, MultiLineText, GetReviewMethodId()); HistoryPublisher.Ton.PublishEvent(reviewingLineOrderEvent); QuestionDurationInMilliseconds = int.Parse(StudyResources.DefaultTimeLineOrderQuestionInMilliseconds); AskQuestion(QuestionDurationInMilliseconds, (e) => { if (e != null) { callback(e); } else { //WAIT FOR ALOTTED TIME FOR USER TO THINK ABOUT ANSWER. System.Threading.Thread.Sleep(int.Parse(StudyResources.DefaultThinkAboutAnswerTime)); callback(null); } }); }
/// <summary> /// Executes callback when answer is shown, or when exception is thrown. /// </summary> /// <param name="question">Question LineEdit</param> /// <param name="answer">Answer LineEdit</param> /// <param name="questionDurationInMilliseconds"></param> /// <param name="callback"></param> protected void AskQuestion(int questionDurationInMilliseconds, ExceptionCheckCallback callback) { try { HideAnswer(); BackgroundWorker timer = new BackgroundWorker(); timer.DoWork += (s, e) => { try { System.Threading.Thread.Sleep(questionDurationInMilliseconds); //if (AnswerVisibility == Visibility.Collapsed) ShowAnswer(); callback(null); } catch (Exception ex) { callback(ex); } }; timer.RunWorkerAsync(); } catch (Exception ex) { callback(ex); } }
public void Show(ExceptionCheckCallback callback) { base.Show(callback); _DateTimeQuestionShown = DateTime.Now; var viewingEvent = new History.Events.ViewingPhraseOnScreenEvent(Question); HistoryPublisher.Ton.PublishEvent(viewingEvent); }
public void Show(ExceptionCheckCallback callback) { base.Show(callback); _DateTimeQuestionShown = DateTime.Now; var viewingEvent = new History.Events.ViewingPhraseOnScreenEvent(Line.Phrase); HistoryPublisher.Ton.PublishEvent(viewingEvent); var reviewingLineOrderEvent = new History.Events.ReviewingLineOrderEvent(Line, MultiLineText, GetReviewMethodId()); HistoryPublisher.Ton.PublishEvent(reviewingLineOrderEvent); }
/// <summary> /// Executes callback when answer is shown, or when exception is thrown. /// </summary> /// <param name="question">Question PhraseEdit</param> /// <param name="answer">Answer PhraseEdit</param> /// <param name="questionDurationInMilliseconds"></param> /// <param name="callback"></param> public void AskQuestion(PhraseEdit question, PhraseEdit answer, int questionDurationInMilliseconds, ExceptionCheckCallback callback) { try { //BingTranslatorService.LanguageServiceClient client = new BingTranslatorService.LanguageServiceClient(); //client.SpeakCompleted += client_SpeakCompleted; //client.SpeakAsync(AppResources.BingAppId, question.Text, BingTranslateHelper.GetLanguageCode(question.Language.Text), string.Empty, string.Empty); HideAnswer(); Question = question; Answer = answer; //QuestionDurationInMilliseconds = questionDurationInMilliseconds; BackgroundWorker timer = new BackgroundWorker(); timer.DoWork += (s, e) => { try { System.Threading.Thread.Sleep(questionDurationInMilliseconds); if (AnswerVisibility == Visibility.Collapsed) { ShowAnswer(); } callback(null); } catch (Exception ex) { callback(ex); } }; timer.RunWorkerAsync(); } catch (Exception ex) { callback(ex); } }
/// <summary> /// Executes callback when answer is shown, or when exception is thrown. /// </summary> /// <param name="question">Question PhraseEdit</param> /// <param name="answer">Answer PhraseEdit</param> /// <param name="questionDurationInMilliseconds"></param> /// <param name="callback"></param> public void AskQuestion(PhraseEdit question, PhraseEdit answer, int questionDurationInMilliseconds, ExceptionCheckCallback callback) { try { //BingTranslatorService.LanguageServiceClient client = new BingTranslatorService.LanguageServiceClient(); //client.SpeakCompleted += client_SpeakCompleted; //client.SpeakAsync(AppResources.BingAppId, question.Text, BingTranslateHelper.GetLanguageCode(question.Language.Text), string.Empty, string.Empty); HideAnswer(); Question = question; Answer = answer; //QuestionDurationInMilliseconds = questionDurationInMilliseconds; BackgroundWorker timer = new BackgroundWorker(); timer.DoWork += (s, e) => { try { System.Threading.Thread.Sleep(questionDurationInMilliseconds); if (AnswerVisibility == Visibility.Collapsed) ShowAnswer(); callback(null); } catch (Exception ex) { callback(ex); } }; timer.RunWorkerAsync(); } catch (Exception ex) { callback(ex); } }