public IAsyncResult BeginGetQuestionnaireTemplateSummary(QuestionnaireTemplate questionnaireTemplate, AsyncCallback callback, object asyncState) { var result = new AsyncResult<QuestionnaireTemplateSummary>(callback, asyncState); HandleBeginGetQuestionnaireTemplateSummary(result); return result; }
public Questionnaire(QuestionnaireTemplate template) { this.Template = template; foreach (var question in this.Template.Questions.Select(qt => qt.CreateNewQuestion())) { this.Questions.Add(question); } }
public IAsyncResult BeginGetQuestionnaireTemplateSummary(QuestionnaireTemplate questionnaireTemplate, AsyncCallback callback, object userState) { var asyncResult = new AsyncResult<QuestionnaireTemplateSummary>(callback, userState); ThreadPool.QueueUserWorkItem( o => { Thread.Sleep(1500); asyncResult.SetComplete(CreateQuestionnaireTemplateSummary(questionnaireTemplate), false); }); return asyncResult; }
public void WhenExecutingTheTakeSurveyCommand_ThenRequestsTransitionToQuestionnaireView() { var repository = new Mock<IQuestionnaireRepository>(); repository .Setup(r => r.GetQuestionnaireTemplatesAsync(It.IsAny<Action<IOperationResult<IEnumerable<QuestionnaireTemplate>>>>())); QuestionnaireTemplate templateRequested = null; var uiServiceMock = new Mock<ISingleViewUIService>(); uiServiceMock .Setup(svc => svc.ShowView(ViewNames.CompleteQuestionnaire, It.IsAny<QuestionnaireTemplate>())) .Callback<string, QuestionnaireTemplate>((vn, qt) => templateRequested = qt); var template = new QuestionnaireTemplate(); var templateViewModel = new AvailableQuestionnaireTemplatesListViewModel(repository.Object, uiServiceMock.Object); templateViewModel.TakeSurveyCommand.Execute(template); Assert.AreSame(template, templateRequested); }
public void GetQuestionnaireTemplateSummaryAsync(QuestionnaireTemplate questionnaireTemplate, Action<IOperationResult<QuestionnaireTemplateSummary>> callback) { this.service.BeginGetQuestionnaireTemplateSummary( questionnaireTemplate, (ar) => { var operationResult = new OperationResult<QuestionnaireTemplateSummary>(); try { operationResult.Result = this.service.EndGetQuestionnaireTemplateSummary(ar); } catch (Exception ex) { operationResult.Error = ex; } synchronizationContext.Post( (state) => { callback(operationResult); }, null); }, null); }
private void TakeSurvey(QuestionnaireTemplate questionnaireTemplate) { // Asks the UI service to go to the "complete questionnaire" view, providing the selected template as // the context for the view. this.uiService.ShowView(ViewNames.CompleteQuestionnaire, questionnaireTemplate); }
private static QuestionnaireTemplateSummary CreateQuestionnaireTemplateSummary(QuestionnaireTemplate questionnaireTemplate) { var summary = new QuestionnaireTemplateSummary { Title = questionnaireTemplate.Title, Description = "Description", EstimatedTime = questionnaireTemplate.Questions.Count * 2.5f, NumberOfQuestions = questionnaireTemplate.Questions.Count, TimesTaken = 0 }; return summary; }